Java 如何在Eclipse中调试maven surefire测试

Java 如何在Eclipse中调试maven surefire测试,java,maven,debugging,maven-surefire-plugin,Java,Maven,Debugging,Maven Surefire Plugin,我正试图在eclipse中调试我的Maven Surefire测试套件。我正在使用TestNg作为测试运行程序。我可以从终端运行此命令,然后在Eclipse中启动“远程Java应用程序”进行调试: mvn清理测试-Dmaven.surefire.debug-Dclass=com.myTests.SampleTestClass 是否可以在Eclipse中将调试配置设置为,这样我就可以直接从Eclipse进行调试,而不必在terminal中运行命令 这是我在Pom.xml中的maven surefi

我正试图在eclipse中调试我的Maven Surefire测试套件。我正在使用TestNg作为测试运行程序。我可以从终端运行此命令,然后在Eclipse中启动“远程Java应用程序”进行调试:

mvn清理测试-Dmaven.surefire.debug-Dclass=com.myTests.SampleTestClass

是否可以在Eclipse中将调试配置设置为,这样我就可以直接从Eclipse进行调试,而不必在terminal中运行命令

这是我在Pom.xml中的maven surefire设置

<plugins>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.17</version>
  <configuration>
    <systemPropertyVariables>
      <my_property>${my_property}</my_property>
    </systemPropertyVariables>
    <properties>
      <property>
        <name>listener</name>
        <value>com.myPackage.TestListener</value>
      </property>       
    </properties>
  </configuration>
 </plugin>
</plugins>

org.apache.maven.plugins
maven surefire插件
2.17
${my_property}
听众
com.myPackage.TestListener
正如前面提到的,放弃maven部分,只需从eclipse本身运行测试

选择包含TestNG测试的包后,您要使用的组合键是:Alt+Shift+D,N

要调试JUnitTests,请将N替换为T

至于保留当前功能:要将侦听器附加到您的testng testsuite,请使用,其中可以附加多个实现
ITestNGListener
的类来侦听您的套件

请注意,ITestNGListener只是一个标记接口,没有其他功能


对于定义的
systemPropertyVariables
:您应该能够在testng运行(和调试)配置中附加它们。

单击类->运行方式->JUnit测试,或者在您的情况下单击类->运行方式->testng测试?或者如果你想调试它。Debus As而不是“Run As”…Maven是我项目的一部分,有几个原因,我不想跳过这一部分,我知道,但你想调试测试,而不是Maven surefire插件或Maven本身?如果你有一些部分不工作,如果你从Eclipse中作为测试启动它们,你就做错了。你能给出你正在做什么的信息吗?当然,你必须给出在Eclipse中运行测试的参数。这是可以做到的。。。。但真正的问题是:你为什么需要这样的倾听者?除此之外,listners还可以通过注释来定义。所以我看不出有什么问题?我不想放弃专业的部分。Maven是我项目的一部分,因为它处理一些设置,如果我以TestNG或JUnit测试的形式运行,则无法获得这些设置。请提前将这些信息添加到您的问题中。我不知道你需要一些设置。。。再一次,我认为依赖maven进行测试设置可能是错误的,但我没有足够的信息来建议可能更好的替代方案。。。呃,我应该使用test-ng@Listeners注释。