【发布时间】:2020-03-08 15:59:39
【问题描述】:
有没有办法在不执行方法实际实现的情况下模拟 Java 中的单元测试静态方法?实际实现会启动在单元测试上下文中无法完成的过程。
public class MyExecutor {
public static int execute(...) {
Process pr = Runtime.getRuntime().exec(...)
int status = pr.waitFor();
return status;
}
public MyClass {
public void methodToUnitTest(...){
MyExecutor.execute(...)
}
我想模拟 MyExecutor.execute 并在单元测试 MyClass.methodToUnitTest 但没有实际执行此方法时验证它的调用及其参数。
我读到 PowerMockito 可以模拟静态方法,但它不会阻止执行实际实现。
【问题讨论】:
标签: java unit-testing