我需要通过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));
}
}
我的服务结果是在字符串“我成功比较的产品”中显示“产品成功保存”消息。每次运行测试用例时,都会收到NullPointerException错误。
我应该在代码中进行哪些更改,以便可以正确测试服务?
最佳答案
您不应在loadJsonFile()
方法中捕获异常。它隐藏了任何异常,您看不到测试失败的真正原因。这是一个改进的loadJsonFile()
。
@Before
public void loadJsonFile() throws Exception {
ObjectMapper mapper = new ObjectMapper();
searchParametersDto = mapper.readValue(
new File("D:\\productsData.json"),
SearchParametersDto.class
);
}