问题描述
在 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 Goals
、Set Properties
等
如果从 <default config>
中选择 Configuration
,NetBeans
将创建一个文件 nbactions.xml
,否则如果例如选择 dev (Profile)
一个文件 {{1} } 被创建,依此类推。
自定义操作在 nbactions-dev.xml
下的上下文菜单中可用,Run Maven