当前位置: 首页 > 知识库问答 >
问题:

如何在Junit5/Spring Boot中命令控制器测试类的执行?

蒋文光
2023-03-14

在我的实体中,我有双向的一对多关系,我想用mock.mvc编写集成测试。但是,在添加父级之前,我不能添加子级。出于这个原因,我希望首先运行AirportControllerTest,其次是RouteControllerTest,最后是FlightController。

有可能吗?或者如何处理这种情况?

共有1个答案

黄弘深
2023-03-14

对于这个特定的问题,等级顺序比顺序顺序更好。

如果您使用的是JUnit5,则可以使用@nested tests。https://junit.org/junit5/docs/current/user-guide/#writing-tests-nested

嵌套测试类的方式是,父测试类首先运行,嵌套的测试可以使用父测试类创建的测试对象。

class AirportControllerTest{

    @Test
    void testAirportController() {
       //Add parent here
    }

    @Nested
    class RouteControllerTest {
      
        @Test
        void testRouteController() {
           //Use test objects from parent here
        }
        @Nested
        class FlightControllerTest{
      
           @Test
           void testFlightController() {
              //Use test objects from AirportControllerTest & RouteControllerTest 
            }
    }
}

如果使用JUnit4,这个问题有几个可能的解决方案--如何在JUnit4中以特定的顺序运行测试方法?

 类似资料:
  • 我编译了测试,并尝试执行以下操作来运行它们: 这引发了一个巨大的异常,开始是这样的: 但基本上说它找不到JUnitExc的类。如果我让控制台启动器查找测试,它找不到任何测试: 我不知道如何在没有IDE的情况下从命令行运行JUnit5测试。 更新: 使用 Maven 运行测试(使用 Surefire 插件)会给我同样的错误。我什至删除了所有测试,但仅导入 junit5 依赖项的测试除外,但我仍然收到

  • 因此,我正在进行我的第一个Spring Boot项目,我一直在进行测试。我查了很多例子,但似乎都不管用。 这是我的控制器的当前测试: 这是可行的,但在sonarqube上,我发现我的代码覆盖率为0%,而我似乎找不到一个测试,它的覆盖率甚至超过了零。有谁能给我一个关于如何为控制器编写一个好的单元测试的例子,然后我就可以根据您的例子自己解决这个问题。 这是我的控制器: 这是我的服务(以防您需要): 还

  • 我们打算将基于JUnit4的项目升级到JUnit5。我按照JUnit5官方网站的说明修改了JUnit4套件:https://JUnit . org/JUnit 5/docs/current/user-guide/# running-tests-JUnit-platform-runner-test-suite。在命令行中使用mvn test时没有执行测试:< code > mvn test-Dtes

  • 我的SpringBoot应用程序中有一个控制器: 我想在mocks的帮助下,将其与服务分开进行测试。如何实施?

  • 问题内容: 因此,我确实看到了另一个问题:如何在指令UT中模拟所需的指令控制器,这基本上是我的问题,但似乎该线程的答案是“更改设计”。我想确保没有办法做到这一点。我有一个指令声明一个由子指令使用的控制器。我现在正尝试为children指令编写茉莉花测试,但由于它们依赖于控制器,因此我无法让它们在测试中进行编译。看起来是这样的: 子指令: 茉莉花测试: 我没有办法用茉莉花测试子指令吗?如果可以,我会

  • 我有一个Spring Boot应用程序,想为控制器编写集成测试。它是我的: 它是我的控制器: 我创建了一个测试(JUnit5): 哪种方法更好?