【问题标题】:NetBeans 12.4 - Spring Boot Maven project, debug all testNetBeans 12.4 - Spring Boot Maven 项目,调试所有测试
【发布时间】:2021-08-27 06:07:49
【问题描述】:

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

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

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

Test

运行所有测试。

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

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

【问题讨论】:

    标签: spring-boot maven-3 junit5 netbeans-12


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      抱歉,我还没有找到一种对 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.xmlat least by implementing a custom plugin....的情况下运行这些操作还没有找到操作/菜单/选项卡:))

      【讨论】:

        猜你喜欢
        • 2011-05-10
        • 1970-01-01
        • 2017-05-28
        • 2018-03-05
        • 2016-10-03
        • 2020-12-31
        • 1970-01-01
        • 2015-10-19
        • 2019-04-09
        相关资源
        最近更新 更多