前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我来给MeterSphere写测试用例07

我来给MeterSphere写测试用例07

作者头像
Antony
发布2020-12-10 11:08:40
9200
发布2020-12-10 11:08:40
举报

作为本次旅程的最后一站,我们来到了最终的一站-测试结果。如下图所示,测试执行人员可以在测试计划中就本次计划执行的测试用例逐个或者批量地标注执行结果。如果有缺陷的话,可以在同一个页面中报告缺陷。

我们通过测试计划的管理接口来实现用例的执行结果上报,将之前新增并纳入测试计划的用例标注为执行通过。以下是用例,

代码语言:javascript
复制
 @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");
 
 }

这样,先前的用例就执行完成了。

完整用例

来看一下完整的测试用例

JUnit5中指定用例执行顺序

有读者可能注意到了@Order的注解。这是用来保证Junit按照指定的顺序来执行测试用例。如以下代码,

代码语言:javascript
复制
 @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
 @Slf4j
 public class Project2TestCaseLongJourneyTest extends TestApp {}

这个用例类中添加了@TestMethodOrder注解用于指定测试用例的按顺序执行,并且使用了OrderAnnotation的方式。通过在测试方法上依次加入@Order(1) ~ @Order(9),就能指定这些用例的执行顺序了,从而实现了通过若干个用例来组织形成一个测试场景的目的,并且保障了用例之间数据相互依赖的情况下,整个场景可以按照既定顺序完成执行。

代码覆盖率

最后,来简单看一下上述场景对MeterSphere后台的代码覆盖率(部分)

可以看到,对controller/service/DAO层均有覆盖。

回顾一下

在本次旅程中,我们实现了服务端的集成测试,主要用到的技术是,

  • MariaDB4j提供内存数据库,供Flyway来初始化Schema
  • SpringBootTest来启动提供Spring容器上下文
  • MockMVC来发起Post/Get请求,维持Session,Muliti-Part 文件上传
  • JUnit5 的@Order来指定用例执行顺序

关于更多MeterSphere的使用,可以参考https://metersphere.io/docs/user_manual/test_track/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试那些事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 作为本次旅程的最后一站,我们来到了最终的一站-测试结果。如下图所示,测试执行人员可以在测试计划中就本次计划执行的测试用例逐个或者批量地标注执行结果。如果有缺陷的话,可以在同一个页面中报告缺陷。
    • 完整用例
      • JUnit5中指定用例执行顺序
    • 代码覆盖率
      • 回顾一下
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档