11

我有一个 scala 测试类,但是当我尝试使用 Maven 目标“测试”运行时,测试没有运行。我收到 Maven 消息“没有要运行的测试”。即使测试位于 scala 测试类中。我需要添加额外的配置吗?

这是我的包设置:

在此处输入图像描述

这是针对 pom 文件运行时 Maven“测试”目标的输出:

[INFO] 正在扫描项目... [INFO]
[信息] --------------------------------------------- ------------------------- [INFO] 构建 scala.maven.test 0.0.1-SNAPSHOT [INFO] -------- -------------------------------------------------- -------------- [INFO] [INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ scala.maven.test --- [警告] 使用平台编码(实际上是 Cp1252)复制过滤后的资源,即构建依赖于平台![INFO] 复制 0 资源 [INFO] [INFO] --- maven-scala-plugin:2.9.1:add-source (scala-compile-first)@scala.maven.test --- [INFO] 添加源目录: C:\workspaces\29112012\scala.maven.test\src\main\scala [INFO] 添加测试源目录:C:\workspaces\29112012\scala.maven.test\src\test\scala [INFO] [INFO ] --- maven-scala-plugin:2.9.1:compile (scala-compile-first) @ scala.maven.test --- [错误] C:

-------------------------------------------------- ----- 测试 -------------------------------------------- ------------ 没有要运行的测试。

结果 :

测试运行:0,失败:0,错误:0,跳过:0

[信息] --------------------------------------------- ------------------------- [信息] 构建成功 [信息] ----------------- -------------------------------------------------- ----- [INFO] 总时间:11.354s [INFO] 完成时间:11 月 30 日星期五 16:57:05 GMT

2012 [INFO] 最终内存:7M/17M [INFO]

这是我的 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>scala.maven.test</groupId>
  <artifactId>scala.maven.test</artifactId>
  <version>0.0.1-SNAPSHOT</version>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.scala-tools</groupId>
                    <artifactId>maven-scala-plugin</artifactId>
                    <version>2.9.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.0.2</version>
                </plugin>
                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>
                                            org.scala-tools
                                        </groupId>
                                        <artifactId>
                                            maven-scala-plugin
                                        </artifactId>
                                        <versionRange>
                                            [2.9.1,)
                                        </versionRange>
                                        <goals>
                                            <goal>add-source</goal>
                                            <goal>compile</goal>
                                            <goal>testCompile</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <executions>
                    <execution>
                        <id>scala-compile-first</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>add-source</goal>
                            <goal>compile</goal>
                        </goals>
                    </execution>                                    
                    <execution>
                        <id>scala-test-compile</id>
                        <phase>process-test-resources</phase>
                        <goals>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

<dependencies>
  <dependency>
    <groupId>org.scalatest</groupId>
    <artifactId>scalatest_2.9.0-1</artifactId>
    <version>2.0.M5</version>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
</dependency>
</dependencies>



</project>
4

2 回答 2

4

尽管这是一个很晚的回复,但我写了它希望有人可以从中受益,以防他们的 scala 单元测试没有被发现。主要和沉默的罪魁祸首之一是测试类的绝对路径。如果路径上任何目录的名称中有空格,scalatest 不会选择它。重命名此类目录以成功运行单元测试。

于 2019-01-19T11:49:46.207 回答
2

你的测试类名称是什么?Maven 可能非常挑剔,默认情况下我认为它要求类名以“Test”结尾。

请参阅我的上一篇文章: Maven 不会运行测试

于 2012-11-30T17:56:39.790 回答