NetBeans 12.4 - Spring Boot Maven 项目,调试所有测试

问题描述

在 Spring Boot Maven 项目中,我使用 JUnit 5 进行了测试。 在测试类中(用 @SpringBoottest 注释)我可以选择

Test File
Debug Test File
Run Focused Test Method
Debug Focused Test Method

在项目本身(Files 窗口)我可以选择

Test

运行所有测试。

有没有办法调试所有测试? 可以这么说,除了 Debug Test 之外,我希望在项目中选择 Test

原因是,只有在我运行所有测试时才会出现一些错误。但是当我只运行或调试错误的测试方法甚至整个测试类时,错误不会出现。

解决方法

抱歉,我还没有找到更友好的 GUI 方式(并且仅在 Netbeans 12.3 上进行了验证),但是:

a) 如果您已经拥有 nbactions.xml

将以下内容添加到 <actions/> 元素:

<action>
  <actionName>CUSTOM-Debug-all-tests</actionName> <!-- should be unique for this project -->
  <displayName>Debug All Tests</displayName> <!-- will be displayed in context menu -->
  <packagings>
    <packaging>*</packaging> <!-- according to your needs,taken from pre-configured action -->
  </packagings>
  <goals> <!-- according to your needs,taken from pre-configured action -->
    <goal>process-test-classes</goal>
    <goal>surefire:test</goal>
  </goals>
  <properties> <!-- according to your needs,taken from pre-configured action -->
    <forkMode>once</forkMode>
    <maven.surefire.debug>-agentlib:jdwp=transport=dt_socket,server=n,address=${jpda.address} 
    </maven.surefire.debug>
    <jpda.listen>true</jpda.listen>
  </properties>
</action>

(当然,您可以根据需要修改和调整它,但这适用于快速启动(maven)项目。同样有趣:“调试集成测试”操作!)

然后您可以从“项目上下文菜单>运行Maven>调试所有测试”中执行它!


b) 如果您还没有 nbactions.xml(在您的项目中):

只需从“项目属性”的“操作”菜单中修改预先配置的“操作”之一(最好是“调试(集成)测试”),这(点击“确定”)将在您的项目根。然后,您可以使其 (maven-) 可执行,如上所述 (a)。(必须/应该 还可以在不修改 nbactions.xml at least by implementing a custom plugin 的情况下运行这些操作。 ...但还没有找到操作/菜单/标签:))

,

无需直接修改XML文件,只需

  • Actions中选择Project Properties类别
  • 选择Configuration<default config>,或dev (Profile),或...)
  • 点击 Add Custom 按钮
  • 输入Action Name
  • 填写字段 Execute GoalsSet Properties

如果从 <default config> 中选择 ConfigurationNetBeans 将创建一个文件 nbactions.xml,否则如果例如选择 dev (Profile) 一个文件 {{1} } 被创建,依此类推。

自定义操作在 nbactions-dev.xml 下的上下文菜单中可用,Run Maven

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...