Java Maven/Surefire未发现单元测试
我试着用maven创建一个测试项目,单元测试效果很好。但是,当尝试对j2ee项目执行相同操作时,surefire无法找到单元测试。测试在正确的目录(src/test/java)中,并且正在编译 junit测试位于src/test/java/unit/TestAddition.java pom.xml中的surefire插件配置不包括/排除任何文件Java Maven/Surefire未发现单元测试,java,maven-2,jakarta-ee,junit,testng,Java,Maven 2,Jakarta Ee,Junit,Testng,我试着用maven创建一个测试项目,单元测试效果很好。但是,当尝试对j2ee项目执行相同操作时,surefire无法找到单元测试。测试在正确的目录(src/test/java)中,并且正在编译 junit测试位于src/test/java/unit/TestAddition.java pom.xml中的surefire插件配置不包括/排除任何文件 <plugin> <groupId>org.apache.maven.plugins</groupId>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.8</version>
</plugin>
日志链接。当您告诉Surefire同时运行TestNG和JUnit测试时,它会遇到一些问题。虽然有一个诀窍可以让它发挥作用,但我现在记不起它是什么了。尝试四处搜索,您可能会在某处找到答案。正如Cedric上面所说,Surefire在同一项目中的TestNG和JUnit测试中存在一些问题。我发现,在运行“mvn test-X”时,Surefire使用的是testng插件而不是junit,即使实际的测试是junit插件
[DEBUG] Adding to surefire test classpath: C:\Users\Croydon.IVSTEL1\.m2\repository\org\apache\maven\surefire\surefire-testng\2.8\surefire-testng-2.8.jar Scope:test
我检查了依赖层次结构,没有发现任何其他需要testng的插件。然后我找到了SpringTestNG依赖项
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-testng-plugin</artifactId>
<version>${org.apache.struts.version}</version>
<scope>test</scope>
</dependency>
Surefire使用junit插件并检测到测试。我删除了项目中的所有测试,只删除了一个junit测试,即TestAddition。我甚至从pom文件中删除了testNG依赖项。然而,Surefire无法检测任何测试:(
[DEBUG] Adding to surefire test classpath: C:\Users\Croydon.IVSTEL1\.m2\repository\org\apache\maven\surefire\surefire-testng\2.8\surefire-testng-2.8.jar Scope:test
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-testng-plugin</artifactId>
<version>${org.apache.struts.version}</version>
<scope>test</scope>
</dependency>
[DEBUG] Adding to surefire test classpath: C:\Users\Croydon.IVSTEL1\.m2\repository\org\apache\maven\surefire\surefire-junit4\2.8\surefire-junit4-2.8.jar Scope: test