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

我为 Spring Boot 编写了测试,并且有 2 个类正在测试 API 和存储库。下面提供了骨架,


@RunWith(SpringRunner.class)

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK)

@AutoConfigureMockMvc

public 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)

@SpringBootTest

public class AppointmentApplicationTests {


    @Test

    public void contextLoads() {


    }


}

配置此类以调用 API 和 repo 类中的所有测试的最佳方法是什么?


catspeake
浏览 104回答 1
1回答

哈士奇WWW

我认为最简单的方法是创建一个Suite要运行的测试集合,例如:JUnit 4import 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 创建测试配置文件执行一堆测试或包。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java