我正在使用scala向java maven项目编写一些测试。我想用maven插件运行这些测试,但我也希望其余的JUnit测试也能运行。 问题是根据this guidelines我必须禁用surefire。 我有一个运行scalatest和junit测试的解决方案吗?
答案 0 :(得分:1)
您可以使用maven surefire插件运行您的scalatests。您只需指定通过注释使用JUnitRunner
来运行您的scalatest。
@RunWith(classOf[JUnitRunner])
class MyTest extends FunSuite with Matchers {
test("foobar") {
true should be(true)
}
}
答案 1 :(得分:1)
如上所述,您需要注释您的规范才能使用JUnit运行器。
@RunWith(classOf[JUnitRunner])
class MyTest extends FunSuite with Matchers {
test("foobar") {
true should be(true)
}
}
您还需要配置surefire插件以包含规格。这是我的配置:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>${maven-surefire-plugin.version}</version>
</dependency>
</dependencies>
<configuration>
<includes>
<include>**/*Test.*</include>
<include>**/*Specification.*</include>
</includes>
</configuration>
</plugin>
请确保将所有模式添加到包含中,以匹配您的测试类名称。
别忘了从maven central引入scalatest