Maven测试不运行测试

时间:2016-12-19 19:13:25

标签: scala maven sbt

我有一个Scala项目,我将SBT替换为maven

我有以下pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>myProjectName</groupId>
  <artifactId>my.package.myProjectName</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name></name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
      <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.10 -->
    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_2.10</artifactId>
      <version>1.6.0</version>
    </dependency> 
    <!-- https://mvnrepository.com/artifact/org.scalatest/scalatest_2.11 -->
    <dependency>
      <groupId>org.scalatest</groupId>
      <artifactId>scalatest_2.11</artifactId>
      <version>3.0.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.typesafe.akka/akka-testkit_2.11 -->
    <dependency>
      <groupId>com.typesafe.akka</groupId>
      <artifactId>akka-testkit_2.11</artifactId>
      <version>2.4.14</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.typesafe.akka/akka-http-testkit_2.11 -->
    <dependency>
      <groupId>com.typesafe.akka</groupId>
      <artifactId>akka-http-testkit_2.11</artifactId>
      <version>10.0.0</version>
    </dependency>
  </dependencies>

</project>

为清楚起见,我删除了上面文本中的一些依赖项。

问题在于,当我运行mvn test时,我的测试都没有执行。

测试位于src/test/scala/my/package

它们的名称中不包含test,但即使我在名称末尾添加Test,它们也不会运行。

1 个答案:

答案 0 :(得分:2)

要编译和测试scala源代码,您应该将scala-maven-plugin添加到构建中。

<project>
    ...
    <build>
        <sourceDirectory>src/main/scala</sourceDirectory>
        <testSourceDirectory>src/test/scala</testSourceDirectory>
        ...
        <plugins>
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.2.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
                <!-- explicit scala version not recommended-->
                <!-- usually inferred from scala-library dependency-->
                <configuration>
                    <scalaVersion>${scala.version}</scalaVersion>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>