Mockitoの使い方
やること
Mockitoの使い方を覚えたい。
ちょっとずつ書いていく。
テスト対象のコード
Car.java
package jp.gr.java_conf.ksino.mockito; public class Car { private String team; private Engine engine; public Car() { super(); engine = new Engine(); engine.setManufacturer("ホンダ"); } public String getTeam() { return team; } public void setTeam(String team) { this.team = team; } public Engine getEngine() { return engine; } public void setEngine(Engine engine) { this.engine = engine; } }
Engine.java
package jp.gr.java_conf.ksino.mockito; public class Engine { private String manufacturer; public String getManufacturer() { return manufacturer; } public void setManufacturer(String manufacturer) { this.manufacturer = manufacturer; } }
テストコード
任意の値を返すようにする
package jp.gr.java_conf.ksino.mockito; import org.junit.Assert; import org.junit.Test; import org.mockito.Mockito; public class CarTest { @Test public void test_01() { final String honda = "ホンダ"; final String mercedes = "メルセデス"; Car car = new Car(); // 単にgetEngineするとホンダが返ってくる Assert.assertEquals(honda, car.getEngine().getManufacturer()); car = Mockito.mock(Car.class); Engine engine = new Engine(); engine.setManufacturer(mercedes); // getEngineしたとき、メルセデスが返るようにする Mockito.when(car.getEngine()).thenReturn(engine); Assert.assertEquals(mercedes, car.getEngine().getManufacturer()); } }