给出一个文件夹结构:
theProject/src/com/myclass/tests/api/APITest
其中包声明为:
package com.myclass.tests.api;
它使用testng中的@Test。
在pom.xml中,我包括了构建部分:
<build>
<testSourceDirectory>${project.basedir}/</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<includes>
<include>**/*Test.class</include>
<include>**/*test.class</include>
<include>src/com/myclass/tests/api/*Test.class</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
我试图在pom.xml所在的Project文件夹中执行以下命令。
mvn test -Dtest=com.myclass.tests.api.*
但结果显示:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project theProject: No tests were executed! (Set -DfailIfNoTests=false to ignore this error.) -> [Help 1]
我应该如何从mvn运行测试?
答案 0 :(得分:1)
我不认为
<testSourceDirectory>${project.basedir}/</testSourceDirectory>
这就是您想要的。
尝试
<testSourceDirectory>${project.basedir}/src</testSourceDirectory>
相反。
原因:Maven找不到文件夹结构
/com/myclass/tests/api
这是${project.basedir}
中(测试的)程序包结构的结果,因此它找不到您的测试并且失败。需要处理额外的src文件夹。