我需要通过JUnit测试服务。
这是我的代码:
public class AdviesBoxTestDaoImpl {
private SearchDaoImpl searchDaoImpl;
private SearchParametersDto searchParametersDto;
JSONObject jsonObject;
@Before
public void loadJsonFile(){
try{
ObjectMapper mapper = new ObjectMapper();
searchParametersDto = mapper.readValue(new File("D:\\productsData.json"), SearchParametersDto.class);
}
catch(Exception e){
}
}
@Test
public void testsDemoMethod() throws SQLException {
System.out.println(searchParametersDto.toString());
assertEquals( "Products saved successfully",
searchDaoImpl.inTable(searchParametersDto));
}
}
我的服务结果是消息为"产品已成功保存"在String中,我在这里比较。每次运行测试用例时,都会出现NullPointerException错误。
我应该在代码中做出哪些更改,以便我可以正确测试服务?
答案 0 :(得分:1)
您不应该在loadJsonFile()
方法中捕获异常。它隐藏了任何异常,你也看不到测试失败的真正原因。这是一个改进的loadJsonFile()
。
@Before
public void loadJsonFile() throws Exception {
ObjectMapper mapper = new ObjectMapper();
searchParametersDto = mapper.readValue(
new File("D:\\productsData.json"),
SearchParametersDto.class
);
}