2
我在做單元測試和我不能編程Mockito來覆蓋部分代碼。
我如何獲得Mockito回報我有效的東西?當我得到spec
時,我得到一個IllegalArgumentExpection
。對不起,如果這是一個無知的問題,我最近開始寫測試。
我如何嘲笑Mockito?
我的測試
@Bean
public SpecDBDAO getSpecDBDAO() {
SpecDBDAO dao = Mockito.mock(SpecDBDAO.class);
when(dao.findLastOne(new BasicDBObject("_id", "erro"))).thenReturn(new BasicDBObject());
return dao;
}
@Test
public void testAddLinha_validId() throws Exception {
planilhaService.addLinha("123", new BasicDBObject("_id", "erro"));
}
我的代碼
public Planilha addLinha(String id, BasicDBObject body) {
String idSpec = body.getString("_id", "");
Planilha planilha = specDBPlanilhasDAO.get(id);
if (planilha == null) {
throw new NotFoundException("Planilha não encontrada.");
}
try {
BasicDBObject spec = specDBDAO.findLastOne(new BasicDBObject("_id", new ObjectId(idSpec)));
if (spec.isEmpty()) {
throw new NotFoundException("Especificação não encontrada.");
}
planilha.addLinha(spec);
planilha = specDBPlanilhasDAO.update(planilha);
return planilha;
} catch (IllegalArgumentException e) {
throw new BadRequestException("Id inválido.");
}
}
覆蓋
永遠不要爲編寫測試道歉! –