我尝试在PowerMock增强的JUnit测试中使用继承。但Maven surefire似乎并不认为这是一种考验。
AbstractTest.java:
import org.junit.runner.RunWith;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
public class AbstractTest {
}
ConcreteTest.java:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
@PrepareForTest({}) // <-- this line causes the test not to be found by Surefire
public class ConcreteTest extends AbstractTest {
@Test
public void test() {
}
}
尝试运行测试:
mvn -Dtest = ConcreteTest.java test
使用@PrepareForTest注释,我得到了万无一失的错误:
[错误]无法执行目标 org.apache.maven.plugins:Maven的万无一失,插件:2.16:测试 项目com.ciphercloud.plugin.crypto上的(默认测试):没有测试 执行! (设置-DfailIfNoTests = false以忽略此错误。) - &gt; [救命 1]
如果我发表评论,它会按预期运作:
测试运行:1,失败:0,错误:0,跳过:0
我做错了吗?我如何让它工作?