JUnit代码覆盖率没有完全覆盖
我为下面的类编写了测试用例,但问题仍然是它没有得到100%的覆盖,并且我在下面的类中提到了不使用>符号的覆盖代码。有人能建议我如何处理剩余的覆盖代码吗 存储库类 测试用例JUnit代码覆盖率没有完全覆盖,junit,Junit,我为下面的类编写了测试用例,但问题仍然是它没有得到100%的覆盖,并且我在下面的类中提到了不使用>符号的覆盖代码。有人能建议我如何处理剩余的覆盖代码吗 存储库类 测试用例 我建议在if块中放置一个断点。 如果没有包含代码,显然没有测试进入该块 一个可能的问题是调用baaisnavcidmsrepository.insertproductDetails,然后(测试中的下一行)在Mockito中指定期望值。我不是mockito专家,但在“测试中的主题”执行期间,mockito如何知道您希望它返回0/
我建议在
if
块中放置一个断点。
如果没有包含代码,显然没有测试进入该块
一个可能的问题是调用baaisnavcidmsrepository.insertproductDetails
,然后(测试中的下一行)在Mockito中指定期望值。我不是mockito专家,但在“测试中的主题”执行期间,mockito如何知道您希望它返回0/1?如果它使用一些默认值,它总是可以返回0,所以如果分支不执行的话
public RowMapperServerResponse insertproductDetails(RowMapperServerResponse rowMapperServerResponse) {
try {
int insertRow = jdbcTemplate.update(
"insert into Master_Circuit (id_type,product,seq_no,name,dependent_count,create_time) values(?,?,?,?,?,?)",
rowMapperServerResponse.getId_type(), rowMapperServerResponse.getProduct(),
rowMapperServerResponse.getSeq_no(), rowMapperServerResponse.getName(),
rowMapperServerResponse.getDependent_count(), rowMapperServerResponse.getCreate_time());
*
> if (insertRow != 0) {
> return rowMapperServerResponse;
> }
> } catch (EmptyResultDataAccessException e) {
> return null;
> }
*
return null;
}
@Test
public void insertproductDetailsTest() {
baaisnEvcIdMSRepository.insertproductDetails(rowResponse());
Mockito.when(jdbcTemplate.update(Mockito.anyString(), Mockito.anyString(), Mockito.anyString(),
Mockito.anyInt(), Mockito.anyString(), Mockito.anyInt(), Mockito.any())).thenReturn(1);
Mockito.verify(jdbcTemplate, Mockito.times(1)).update(Mockito.anyString(), Mockito.anyString(),
Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(), Mockito.anyInt(), Mockito.any());
}
@Test
public void insertproductDetailsEmptyTest() {
baaisnEvcIdMSRepository.insertproductDetails(rowResponse());
Mockito.when(jdbcTemplate.update(Mockito.anyString(), Mockito.anyString(), Mockito.anyString(),
Mockito.anyInt(), Mockito.anyString(), Mockito.anyInt(), Mockito.any())).thenReturn(0);
Mockito.verify(jdbcTemplate, Mockito.times(1)).update(Mockito.anyString(), Mockito.anyString(),
Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(), Mockito.anyInt(), Mockito.any());
}
private RowMapperServerResponse rowResponse() {
RowMapperServerResponse rowMapperServerResponse = mock(RowMapperServerResponse.class);
Mockito.when(rowMapperServerResponse.getMaster_kit_id()).thenReturn(464662);
Mockito.when(rowMapperServerResponse.getId_type()).thenReturn("EMSsample");
Mockito.when(rowMapperServerResponse.getProduct()).thenReturn("sample");
Mockito.when(rowMapperServerResponse.getSeq_no()).thenReturn(36316);
Mockito.when(rowMapperServerResponse.getName()).thenReturn("TLS");
Mockito.when(rowMapperServerResponse.getDependent_count()).thenReturn(0);
Mockito.when(rowMapperServerResponse.getCreate_time()).thenReturn(new Date());
return rowMapperServerResponse;
}