根据Surefire插件的文档,我们可以指定提供商为JUnit 4
,JUnit-47
和其他人。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.17</version>
</dependency>
</dependencies>
</plugin>
假设我有一个如下所述的课程:
@RunWith(PowerMockRunner.class)
public class MyListener{
@Test
public void testProp() {
}
}
当我们运行maven surefire时,是否会使用junit47runner
或PowerMockRunner
运行测试用例?
答案 0 :(得分:0)
在你的情况下@RunWith
是一个JUnit注释(符合你的xml配置中设置的内容,所以你可以放弃那个依赖xml配置部分而不用担心关于那个)。
JUnit跑步者将依次运行你的PowerMockRunner
。因此,您的powermock将被启用,但您仍然可以使用JUnit之类的东西,如@Rule
。
此外,自junit 4.7以来,我们建议您使用JUnit powermock rule代替@RunWith(PowerMockRunner.class)
。
-
引用surefire doc。对于问题的一般部分。
在某些情况下,可能需要手动覆盖这样的选择。这可以通过将所需的提供程序添加为surefire-plugin的依赖项来完成。
这意味着如果设置得当,则可以使用surefire配置。