我需要通过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
    );
}

09-28 06:18