bba*_*yle 5 easymock mocking mockito
我需要用junit5 (这很重要)和mockito 或easymock模拟一个静态方法。我看到 powermock 只适用于 junit 4。是否有任何形式可以使用 junit5 来实现?
如果没有 PowerMock,就不可能模拟静态方法。当您需要 PowerMock 时,就意味着代码开发不正确,无法以可测试的方式进行。我正在开发一个使用 Java 11、JUnit 5 和 Mockito 的项目。PowerMock 根本不支持这一点。我怀疑它永远不会支持它。
话虽这么说:使其可测试的唯一方法是将带有静态方法的类注入到需要测试的类中,然后用模拟替换测试范围中 bean 的实现。当您注入它时,您就有了一个活动对象,因此不再需要静态方法。
更改代码和使用注入框架(如 Spring)有好处。我知道有些情况你不能只这样做。如果您确实无法更改实现,请保持原样,并进行大量单元测试,以使用各种参数自行测试静态方法。只是为了确保这个类按预期工作。
| 归档时间: |
|
| 查看次数: |
6605 次 |
| 最近记录: |