目前刚刚开始单元测试,所以我有两个关于这个问题中这个错误的问题,我希望它没问题。
我有一个类有一个正面测试和三个负面测试,其中一个负面案例是使用 doThrow 来模拟失败的存储库,但它也会导致正面测试失败,有什么办法可以解决这个问题吗?
理想情况下,负例和正例是否必须分为两类?
我已经在谷歌上搜索过这个但找不到任何参考,甚至找不到与我相同的问题,已经在不和谐中询问,虽然我确实找到了一些修复方法,通过为负面的 doThrow 案例创建新类,但我正在寻找征求更多意见。
这是负面案例的例子
@Test(expected = DAOException.class)
public void testFail() throws ObjectNotEncypted, ObjectNotFound {
List<Long> ids = new ArrayList<Long>();
ids.add(id);
Mockito.when(tempRepo.tempfunction(var)).thenReturn(Optional.of(expectedvalue));
Mockito.when(tempRepo.tempfunction(var)).thenReturn(expectedvalue);
Mockito.when(tempRepo.tempfunction(var)).thenReturn(null);
Mockito.when(tempRepo.tempfunction(var)).thenReturn(1);
Mockito.when(tempRepo.tempfunction(var)).thenReturn(1);
Mockito.doThrow(DAOException.class).when(tempRepo).tempfunctionthatshouldfail(var);
service.dofunction(ids);
}
- 附加代码继承人我如何构建配置和声明变量
@Configuration
static class classConfig {
@Bean
public service accountService() {
return new serviceImpl();
}
@Bean
public TempRepo tempRepo () {
return Mockito.mock(TempRepo.class);
}
}
@Autowired
private Service service;
@Autowired
private TempRepo tempRepo ;
预期的结果是所有测试用例都应该运行,但我得到一个错误,并且只跟踪一行,这com.project.common.exception.DAOException 是代码的正例部分。
犯罪嫌疑人X
交互式爱情
相关分类