我目前正在为类中存在的类(即内部类)编写 Junits。
public class MainClassJob {
public class UserRowMapper implements RowMapper<MyReport> {
@Override
public MyReport mapRow(ResultSet rs, int rowNum) throws SQLException {
MyReport r = new MyReport();
r.setDate(rs.getDate("CS_DATE"));
r.setFirstName(rs.getString("FNAME"));
r.setFirstName(rs.getString("LNAME"));
return r;
}
}
}
有人可以指导我如何将 UserRowMapper 部分作为 JUnit 覆盖率报告的一部分进行覆盖吗?
最佳答案
另一个答案告诉您如何技术上达到:
Could someone guide me how I am cover the UserRowMapper portion as part of JUnit coverage report.
...只需编写一个以某种方式运行该代码的测试用例。
但请注意:您提出了错误问题。您编写 JUnit 测试代码不是为了获得覆盖范围。您编写代码是为了测试您的生产代码,这样当代码错误时您就会失败,以便您以后可以更改生产代码,因为知道有一个适当的步骤将>验证整体功能仍然正确。
换句话说:您应该问自己如何有意义地测试您的代码。比如:该代码的预期用途是什么?存在哪些特殊情况?什么时候应该抛出异常,......等等。
然后您编写涵盖所有这些方面的测试。
最后,您可能想要收集覆盖率信息,以便了解从测试库获得的覆盖率。
含义:不执行任何断言或检查的单元测试,其运行只是为了让您达到 100% 的覆盖率,这样的测试几乎毫无用处。他们告诉您的唯一一件事是:您可以在单元测试中运行该代码,而不会弹出异常。
关于java - Java 中的内部类覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55900337/