为了账号安全,请及时绑定邮箱和手机立即绑定

Spring boot 测试 API 和存储库的多个类

Spring boot 测试 API 和存储库的多个类

catspeake 2022-06-15 09:23:52
我为 Spring Boot 编写了测试,并且有 2 个类正在测试 API 和存储库。下面提供了骨架,@RunWith(SpringRunner.class)@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK)@AutoConfigureMockMvcpublic class AppointmentAPITest {    /*     * we need a system to simulate this behavior without starting a     * full HTTP server. MockMvc is the Spring class that does that.     * */    @Autowired    private MockMvc mockMvc;    @MockBean    private AppointmentAPI api;    // now the tests are going on}存储库测试类,@ActiveProfiles("test")@RunWith(SpringRunner.class)@DataJpaTest@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)public class AppointmentRepositoryTest {    @Autowired    private TestEntityManager entityManager;    @Autowired    private AppointmentRepository repository;    // write the test here }如何使用单个类来运行它们?例如,如果课程是AppointmentApplicationTests,@RunWith(SpringRunner.class)@SpringBootTestpublic class AppointmentApplicationTests {    @Test    public void contextLoads() {    }}配置此类以调用 API 和 repo 类中的所有测试的最佳方法是什么?
查看完整描述

1 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

我认为最简单的方法是创建一个Suite要运行的测试集合,例如:


JUnit 4


import org.junit.runner.RunWith;

import org.junit.runners.Suite;


@RunWith(Suite.class)

@Suite.SuiteClasses({

    some.package.AppointmentRepositoryTest,

    some.package.AppointmentApplicationTests

})

public class MySuite {

}

6月5日


@RunWith(JUnitPlatform.class)

@SelectClasses({some.package.AppointmentRepositoryTest,

    some.package.AppointmentAPITest.class})

public class JUnit5TestSuiteExample {

}

然而,这并不总是最好的方法。还考虑熟悉如何为 maven toe 创建测试配置文件执行一堆测试或包。


查看完整回答
反对 回复 2022-06-15
  • 1 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信