我正在使用Scala(JUnit 4)编写Java项目的单元测试用例。我正在使用Maven运行测试。
我为测试编写了一个src/test/scala/com.xxx.BaseTest
类,以提供一些常用功能(@BeforeClass
等),但没有实际的@Test
个案例。
每当我在命令行上使用mvn
运行测试时,它都会坚持尝试在BaseTest
类中查找测试,并因为没有错误而出错。
除了使用@Ignore
之外,有没有办法让Maven / Scala / Surefire不尝试运行BaseTest
类?添加@Ignore
并不是什么大问题,但我的测试运行显示的测试比我实际使用的标签“Skipped:1”还要多。
更新:我找到了解决方案。我将BaseTest
重命名为Base
; Maven现在忽略了它。还有其他办法吗?
答案 0 :(得分:1)
您可以重命名基础测试类,不要让*测试结束,例如BaseTestCase.java
。这就是我的建议。
maven最有可能使用surefire plugin执行测试,因此您只需配置surefire插件即可跳过BaseTest.java。我认为,默认情况下,surefire假定所有以*Test
结尾的类都是测试类。在pom.xml
。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.6</version>
<configuration>
<excludes>
<exclude>**/BaseTest.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>