2

在 Spring Boot Maven 项目中,我使用JUnit 5. 在测试类中(用 注释@SpringBootTest)我可以选择

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

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

Test

它运行所有测试。

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

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

4

2 回答 2

1

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

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

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

Run Maven自定义操作在打开时间下的上下文菜单中可用pom.xml

于 2021-06-22T09:14:40.670 回答
1

抱歉,我还没有找到一种对 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 ,至少通过实现一个自定义插件......但还没有找到该操作/menu/tab 还没有:))

于 2021-06-10T09:40:17.563 回答