gpt4 book ai didi

spring - 如何使用具有不同数据的相同测试类执行 Spring Rest Controller 测试?

转载 作者:行者123 更新时间:2023-11-28 20:36:46 24 4
gpt4 key购买 nike

我目前正在尝试为我的 Spring REST Controller 编写非常简单的集成测试。

假设我的测试类看起来像这样:

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class RealNewTest2 {

@Autowired
private MockMvc mvc;

@Test
public void test() throws Exception {
mvc.perform(
get(GET_URL).
with(httpBasic("user","pass"))).
andExpect(status().isOk());


System.out.println("Test done.");
}

}

我想执行非常基本的测试用例来测试所有调用(GET、POST、PUT、DELETE)等。我所有的 REST Controller 都非常相似。我想的目标是我将拥有所有 Controller 的测试数据,例如它在进行 PUT 测试时使用的 JSON 对象,然后它将拥有 Controller 使用的 URL/映射。我所有的 Controller 映射都是相同的,除了最后一部分,例如 mysite/accounts 和 mysite/countries。

那么有什么方法可以让我编写一个测试用例来执行所有这些 REST 调用,然后使用不同的 url 和 JSON 对象再次运行它,这样我就不必编写那么多测试用例了,因为它们是只有非常基本的测试,并且与 JSON 对象和 REST URL 的期望基本完全相同。

最佳答案

创建一个名为 AbstractControllerTest 的类,并将您想要的共享行为放入其中。然后你的 Controller 测试类可以从它扩展。您可以通过构造函数自定义测试类的参数(如 URL)。

关于spring - 如何使用具有不同数据的相同测试类执行 Spring Rest Controller 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51555293/

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