私はMockitoでSpock fwを使用しています。私は 'HostController'という名前のコントローラと 'HostService'という名前のサービスを持っています。spockベースのテストでのmockitoモックオブジェクトのスタビング
'HostController'にはhost(Long id)
というメソッドがあり、 'HostService'にはfindOne(Long id)
というメソッドがあります。
私はHostController#host(Long id)
をテストしたいので、スタブをfindOne(Long id)
と考えています。
フォローはテストコードです:上記のテストで
class MockTest extends Specification {
@Mock
private HostService mockedService;
@InjectMocks
private HostController controller;
def setup() {
MockitoAnnotations.initMocks(this);
}
def "mock test"() {
given:
def host = new Host(id: 1, ipAddress: "127.0.0.1", hostName: "host1")
mockedService.findOne(_) >> host
when:
Map<String, Object> result = controller.host(1)
then:
result.get("host") != null
}
}
、controller.host(1)
リターンMap<String, Object>
タイプとそれがhost
という名前のキーを持っています。私は、キーがnull値ではないと仮定しましたが、値はnullです。
なぜ私は思ったように機能しませんか?
うまく動作します。しかし、私はSpock Mockの代わりにMockitoを使いたい。 – Devcken
私は主張して申し訳ありませんが、なぜですか? –