我正在使用Spock框架和Mockito。我有一个名为“HostController”的控制器和一个名为“HostService”的服务。
'HostController'有一个名为
我想测试
以下是测试代码:
在上面的测试中,
为什么不像我想的那样工作呢?
'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
的键。我假设该键没有空值,但实际上它是空的。为什么不像我想的那样工作呢?