我们通过测试计划的管理接口来实现用例的执行结果上报,将之前新增并纳入测试计划的用例标注为执行通过。以下是用例,
@Order(9)
@Test
@DisplayName("09测试计划-执行通过")
public void executeTestCaseSuccess() throws Exception {
TestPlanTestCaseWithBLOBs request=new TestPlanTestCaseWithBLOBs();
request.setId(testCase.getId());
request.setStatus("Pass");
String result= doPost("/test/plan/case/edit",JSON.toJSONString(request));
assertThat(result).contains("true");
}
这样,先前的用例就执行完成了。
来看一下完整的测试用例
有读者可能注意到了@Order的注解。这是用来保证Junit按照指定的顺序来执行测试用例。如以下代码,
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@Slf4j
public class Project2TestCaseLongJourneyTest extends TestApp {}
这个用例类中添加了@TestMethodOrder注解用于指定测试用例的按顺序执行,并且使用了OrderAnnotation的方式。通过在测试方法上依次加入@Order(1) ~ @Order(9),就能指定这些用例的执行顺序了,从而实现了通过若干个用例来组织形成一个测试场景的目的,并且保障了用例之间数据相互依赖的情况下,整个场景可以按照既定顺序完成执行。
最后,来简单看一下上述场景对MeterSphere后台的代码覆盖率(部分)
可以看到,对controller/service/DAO层均有覆盖。
在本次旅程中,我们实现了服务端的集成测试,主要用到的技术是,
关于更多MeterSphere的使用,可以参考https://metersphere.io/docs/user_manual/test_track/