gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:16:34 25 4
gpt4 key购买 nike

我为 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 和存储库类中的所有测试的最佳方法是什么?

最佳答案

我认为最简单的方法是创建一个 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 {
}

Junit5

@RunWith(JUnitPlatform.class)
@SelectClasses({some.package.AppointmentRepositoryTest,
some.package.AppointmentAPITest.class})
public class JUnit5TestSuiteExample {
}

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

关于java - Spring boot 测试 API 和存储库的多个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54634927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com