我目前正在尝试为Spring REST控制器编写非常简单的集成测试。
让我们说我的测试课看起来像这样:
@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控制器都非常相似。我正在考虑的目标是,我将拥有所有控制器的测试数据,例如进行PUT测试时使用的JSON对象,然后具有控制器使用的URL /映射。我所有的控制器映射都相同,除了最后一部分,例如mysite / accounts和mysite / countries。
所以我有什么办法可以编写一个测试用例来执行所有这些REST调用,然后使用不同的url和JSON对象再次运行它,因此我不必编写太多的测试用例,因为它们是仅进行非常基础的测试,并且对JSON对象和REST URL的期望基本上是完全相同的。
答案 0 :(得分:1)
创建一个名为AbstractControllerTest
之类的类,并将所需的共享行为放入其中。然后,您的控制器测试类可以从中扩展。您可以通过构造函数来自定义测试类的参数(例如URL)。