Sri*_*nth 5 java junit powermock
我们使用powermock通过使用@PrepareForTest注释来模拟静态方法.测试运行正常,但问题是执行测试需要更多时间.
代码段如下:
@PrepareForTest({ StaticClass1.class, StaticClass2.class })
Run Code Online (Sandbox Code Playgroud)
通常,没有模拟静态方法的JUnit需要大约2秒的时间来执行,但是当我们添加@PrepareForTest注释来模拟静态调用时,测试花费大约一分钟时间来完成执行.对于一次测试,这不是一个很大的影响,但我们有超过1K的测试,整体构建时间超过2小时,之前大约需要20-30分钟.
这可能是因为电力公司花了这么多时间的原因.
任何帮助将不胜感激.
PowerMock是一个在生成的类上执行字节码检测的工具.将类编译为Java Bytecode后,PowerMock会出现并修改生成的类.否则(通过使用Java代理)模拟私有或静态方法是不可能的.
您只应@PrepareForTest在要使用PowerMock独有功能的类中使用注释,例如模拟私有或静态方法.
| 归档时间: |
|
| 查看次数: |
1077 次 |
| 最近记录: |