如何使用maven插件使用JUnit测试运行Scalatest

时间:2015-10-21 07:50:22

标签: scala maven junit scalatest maven-surefire-plugin

我正在使用scala向java maven项目编写一些测试。我想用maven插件运行这些测试,但我也希望其余的JUnit测试也能运行。 问题是根据this guidelines我必须禁用surefire。 我有一个运行scalatest和junit测试的解决方案吗?

2 个答案:

答案 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