在构建Spring Boot应用程序时如何订购测试

时间:2019-07-07 09:24:42

标签: spring-boot spring-data-jpa spring-test spring-mvc-test

我正在使用单元测试构建Spring Boot应用程序。我有彼此依赖的实体,例如:我有用户和角色。要创建用户我应该需要角色。我正在使用MockMvc测试角色和用户对象资源。我为每个实体创建了Test类。当我运行测试时,UserTest类正在执行Role Test类之前。所以,我所有的测试都失败了。我需要帮助来按顺序运行Test类。

1 个答案:

答案 0 :(得分:0)

正如我在评论中提到的那样,解决此问题的最佳方法是避免测试类之间的依赖。

这可以通过适当的测试夹具设置和拆除(例如JUnit 4中的@Before@After方法)来实现。

但是,如上所述,如果通过套件执行测试类,则可以在JUnit 4中对它们进行排序。

@RunWith(Suite.class)
@SuiteClasses({RoleTests.class, UserTests.class})
public class MyTestSuite {

    public static class RoleTests {

        @Test
        public void roleTest() {
            System.err.println("roleTest");
        }
    }

    public static class UserTests {

        @Test
        public void userTest() {
            System.err.println("userTest");
        }
    }
}

始终打印:

roleTest
userTest