持续集成实践小结[2] —单元测试
@Test(description = "getNewestItems_冒烟_获取最新商品并检查若干关键属性")
public void test_getNewestItems_smoke() {
List<ItemVo> itemList = itemBean.getNewestItems(1);
Assert.assertTrue(itemList.size() == 16, "size应该是16");
for (ItemVo vo : itemList) {
Assert.assertTrue(vo.getName() != null, "name不能为空");
Assert.assertTrue(vo.getPrice() != null, "price不能为空");
}
}
|
@Test(description = "enter_and_leave_market_冒烟_进入与离开超市")
public void test_enter_and_leave_market_smoke() {
Custom tom = new Custom("Tom");
tom.enterMarket();
Assert.assertTrue(Custom.isAtMarket(tom), "tom应该在超市内");
tom.leaveMarket();
Assert.assertFalse(Custom.isAtMarket(tom), "tom应该不在超市");
}
|
@Test(description = "addToCart_正常流程_往购物车内添加各种类型数目的商品", dataProvider = "test_addToCart_normal_data")
@Rollback
public void test_addToCart_normal(String caseNote, long itemId, int count) {
Custom tom = new Custom("Tom");
this.setCustom(tom);
cartBean.addToCart(itemId, count);
Item item = tom.getCart.getItems.get(0); // 获取购物车中的第一项商品
Assert.assertEquals(item.getId, itemId, "itemId is wrong");
Assert.assertEquals(item.getCount, count, "count is wrong");
}
@DataProvider
public Object[][] test_addToCart_normal_data() {
return new Object[][] {
// caseNote, itemId, count
{"Milk - just a dozen", 39001L, 12, },
{"Bread - huge number", 116001L, 999},
{"Bean - less then 10", 1018100L, 2},
};
}
|
@Test(description = "addToCart_异常流程_往购物车内添加参数非法的商品", dataProvider = "test_addToCart_error_data")
@Rollback
public void test_addToCart_error(String caseNote, long itemId, int count, int expectedErrorCode) {
Custom tom = new Custom("Tom");
this.setCustom(tom);
try {
cartBean.addToCart(itemId, count);
Assert.fail();
} catch (Exception e) {
Assert.assertEquals(e.getErrorCode, expectedErrorCode);
}
}
@DataProvider
public Object[][] test_addToCart_error_data() {
return new Object[][] {
// caseNote, itemId, count, expectedErrorCode
{"iPad - 0 count", 39001L, 0, Cart.ZERO_COUNT},
{"MacBookPro - more then stock", 116001L, 1024, Cart.MORE_THAN_STOCK},
{"no such item", 0L, 1L, Cart.NO_SUCH_ITEM}
};
}
|
持续集成实践小结[2] —单元测试相关推荐
- 基于Jenkins的开发测试全流程持续集成实践
今年上半年一直在公司实践CI,本文将上半年来的一些实践总结一下,可能不太完善或优美,但的确初步解决了我目前所在项目组的一些痛点.当然这仅是一家之言也不够完整,后续下半年还会深入实践和引入Kuberne ...
- 基于Jenkins Pipeline的ASP.NET Core持续集成实践
最近在公司实践持续集成,使用到了Jenkins的Pipeline来提高团队基于ASP.NET Core API服务的集成与部署,因此这里总结一下. 一.关于持续集成与Jenkins Pipeline ...
- [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBuild+GitHub)
本系列文章包含: [独孤九剑]持续集成实践(一)- 引子 [独孤九剑]持续集成实践(二)– MSBuild语法入门 [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBu ...
- [独孤九剑]持续集成实践(二)– MSBuild语法入门
本系列文章包含: [独孤九剑]持续集成实践(一)- 引子 [独孤九剑]持续集成实践(二)– MSBuild语法入门 [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBu ...
- Jenkins与Docker的持续集成实践
本文讲的是Jenkins与Docker的持续集成实践[编者的话]持续集成(CI/CD)是一种软件开发实践.用于帮助团队成员频繁.快速的集成,测试他们的工作成果,以尽快发现集成错误. 更频繁.更早的集成 ...
- Android 持续集成实践(三)——编写 .gitlab-ci.yml 实现自动化
文章目录 前言 系列文章 Android 持续集成实践(三)--编写 .gitlab-ci.yml 实现自动化 要实现的效果 定义 gitlab-ci 工作场景阶段 定义 build 任务 定义 re ...
- Android 持续集成实践(二)——配置 Docker + gitlab-runner 实现线上自动编译
文章目录 前言 系列文章 Android 持续集成实践(二)--配置 Docker + gitlab-runner 实现线上自动编译 安装 Docker 安装 gitlab-runner 安装 注册 ...
- Android 持续集成实践(四)——配置 WebHook 通知编译结果
文章目录 前言 系列文章 Android 持续集成实践(四)--配置 WebHook 通知编译结果 团队沟通工具 创建团队 创建讨论组 添加 BearyChat 机器人 配置 WebHook gitl ...
- 软件自动化测试培训内容,软件自动化测试与持续集成实践培训方案
一.背景概述 为响应工业和信息化部信息化高端人才培养的号召,中国信息化培训中心特推出了软件自动化测试与持续集成实践培训班,希望通过专业的培训与业界真实案例来全面提高学员软件自动化测试水平,从而更好地服 ...
最新文章
- linux在多核处理器上的负载均衡原理
- 【进阶4-1期】详细解析赋值、浅拷贝和深拷贝的区别
- 解决在C#(.net)按字节数截取字符串最后出现乱码的问题
- 【干货】iOS9的新特性UI Tests
- C#7.0之ref locals and returns (局部变量和引用返回,之前欠大家的,现在补上)
- 【BZOJ - 2574】[Poi1999] Store-Keeper(点双连通分量,求割点,记忆化bfs)
- html+注释格式化,使用xml注释来生成格式化的html输出
- 2020智慧零售行业研究报告
- 《ArcGIS Runtime SDK for Android开发笔记》
- Spring cloud Gateway(二) 一个Http请求的流程解析
- “华为杯”第十八届中国研究生数学建模竞赛历程及感悟
- 激荡三十年——互联网的崛起
- 介绍一下xgb_xgboost实战,一篇就好
- 3. Kubernetes资源-概述
- 这才叫装机必备,这3款高质量电脑软件,内存满了也绝不卸载
- 2021年安全生产模拟考试(建筑特种作业操作证-建筑焊工模拟考试题库)安考星
- 将监控摄像头的监控视频转发到互联网,实现远程视频监控
- 图像处理工具-Stirmark使用方法
- 相信历史会记住普通人
- 驾驶证上的照片有具体要求吗?这几点需要注意
热门文章
- 四轴飞行器1.4 姿态解算和Matlab实时姿态显示
- bool 变量想为什么一般初始化为FALSE 比较好?
- 洞悉物联网发展1000问之从精益管理到互联工业带来的启示是什么?
- (原創) 如何讓P7010外接螢幕支援1440x900(WXGA+)? (NB) (P7010)
- 微信小程序项目文件配置介绍
- SP2-0110: Cannot create save file afiedt.buf
- C++多小球非对心弹性碰撞(HGE引擎)
- 给VMWare虚拟机做快照--保存你的劳动成果
- python 钩子函数的使用
- flex与java实现增删改查