Java Maven/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>

我试着用maven创建一个测试项目,单元测试效果很好。但是,当尝试对j2ee项目执行相同操作时,surefire无法找到单元测试。测试在正确的目录(src/test/java)中,并且正在编译

junit测试位于src/test/java/unit/TestAddition.java

pom.xml中的surefire插件配置不包括/排除任何文件

<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