如何在 Eclipse 中调试 maven surefire 测试

How to debug maven surefire tests in Eclipse

我正在尝试在 Eclipse 中调试我的 Maven Surefire 测试套件。我正在使用 TestNg 进行测试 运行ner。我可以从终端 运行 这个命令然后在 Eclipse 中启动 "Remote Java Application" 来调试:

mvn clean test -Dmaven.surefire.debug -Dclass=com.myTests.SampleTestClass

是否可以在 Eclipse 中设置调试配置,这样我就可以直接从 Eclipse 进行调试,而无需 运行 终端中的命令?

这是我在 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>

正如 khmarbaise 已经提到的那样,放弃 Maven 部分,只 运行 来自 eclipse 本身的测试。

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

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

关于保留当前功能:要将侦听器附加到您的 testng 测试套件,请使用 @Listeners-Annotation,您可以在其中附加多个 类 实现 ITestNGListener 以侦听您的套件。

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

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