assumptions

Unit 5 中的前置条件(assumptions【假设】)类似于断言,不同之处在于不满足的断言assertions会使得测试方法失败,而不满足的前置条件只会使得测试方法的执行终止

前置条件可以看成是测试方法执行的前提,当该前提不满足时,就没有继续执行的必要。

@DisplayName("前置条件")
public class AssumptionsTest {private final String environment = "DEV";@Test@DisplayName("simple")public void simpleAssume() {assumeTrue(Objects.equals(this.environment, "DEV"));assumeFalse(() -> Objects.equals(this.environment, "PROD"));}@Test@DisplayName("assume then do")public void assumeThenDo() {assumingThat(Objects.equals(this.environment, "DEV"),() -> System.out.println("In DEV"));}
}

assumeTrueassumFalse 确保给定的条件为 truefalse,不满足条件会使得测试执行终止。

assumingThat 的参数是表示条件的布尔值和对应的 Executable 接口的实现对象。只有条件满足时,Executable 对象才会被执行;当条件不满足时,测试执行并不会终止。

74、单元测试-前置条件相关推荐

  1. Spring Boot 2 学习笔记(2 / 2)

    Spring Boot 2 学习笔记(1 / 2) - - - 45.web实验-抽取公共页面 46.web实验-遍历数据与页面bug修改 47.视图解析-[源码分析]-视图解析器与视图 48.拦截器 ...

  2. springboot的学习(2)

    转载于:(2条消息) Spring Boot 2 学习笔记(2 / 2)_KISS-CSDN博客 Spring Boot 2 学习笔记(1 / 2) - - - 45.web实验-抽取公共页面 46. ...

  3. SpringBoot2源码学习笔记 续

    45.web实验-抽取公共页面 官方文档 - Template Layout 公共页面/templates/common.html <!DOCTYPE html> <html lan ...

  4. 软件的接口设计图_软件工程复习6670组考题

    黑色字体为原本答案,蓝色字体修改补充了 复习题组「66-70/66-70/14/14」 一名词解释 71.压力测试 在软件工程中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接 ...

  5. usaco-5.1-fc-passed

    哇,开始convex hull,这个专业性较强.并且,还开始使用double数了,精度要求更高了. /* ID: qq104801 LANG: C++ TASK: fc QQ:104804687 */ ...

  6. Karma和Jasmine 自动化单元测试环境搭建

    最近初学AngularJS ,看到的一些教程中经常有人推荐使用Karma+Jasmine来进行单元测试.自己之前也对Jasmine有些了解,jasmine也是一个不错的测试框架. 1. karma介绍 ...

  7. 编码原则:不变量/前置条件/后置条件

    "显式的表达假设",这句话布置适合编码,也适合和人交往. 不变量 类型会持有某些状态,不变量则是对这些状态合法性的一些断言,每次修改系统状态的时候都需要显式的调用这些断言,如果不满 ...

  8. 【学习笔记】C#中的单元测试

    周一老师讲完单元测试以后,感觉挺好玩,通过查资料和相关书籍学到了几种C#在VS2010的测试方法,跟大家分享下,图文并茂啊,有木有~~ 1.从被测试的代码中生成单元测试 1.1创建C#控制台程序,命名 ...

  9. selenium自动化-单元测试框架

    单元测试框架: 在自动化中,单元测试框架是管理测试用例的,控制测试用例的执行顺序和次数 unittest: 前置条件:setUP(一般是打开浏览器操作) 后置条件:tearDown(一般是关闭浏览器) ...

最新文章

  1. [李景山php]每天TP5-20170131|thinkphp5-Request.php-3
  2. 中国人民大学_《组织行为学》_20 如何避免办公室政治的负面影响?
  3. python赋值、深浅拷贝
  4. 每日简单小妙招:使用python自动登录CSDN等各大网站
  5. cross component navigation in HCP
  6. 哨兵一号数据snap预处理_利用SNAP软件进行Sentinel-1A卫星微波影像的预处理
  7. 那些VisualStudio隐藏的调试功能
  8. create-react-app入门教程
  9. 提前11秒,AI让神经科学家预知了你的决定
  10. 用java语言编写的操作系统属于_为什么操作系统不是用java编写的?
  11. Bailian2973 Skew数【进制】
  12. (转)关于中国的互联网
  13. 独家汉化SDL Passolo 2018(软件汉化工具) v18.0.130简体中文版
  14. 程序员工资多高才算高?
  15. 腾讯组织了一个联盟,但无法阻止字节跳动拿走一半游戏广告
  16. 最公正海贼王实力排行TOP50!
  17. PACS系统源码 影像管理系统源码(PACS)
  18. 记录 | KMS工具激活Office报错 Error Code: 0x80080005
  19. PHP获取字符串长度之strlen和mb_strlen的区别
  20. 『方案』《女友十年精华》 ORC 图片 文字识别 详解

热门文章

  1. Java工厂方法---Factory Method
  2. 【超融合】超融合“火不火”?
  3. 排序算法 快速排序【详细步骤图解】
  4. 在CMD中输入adb命令,提示“‘adb‘ 不是内部或外部命令,也不是可运行程序或批处理文件”的解决方法
  5. android 设置字体为幼圆_怎么设置电脑字体为幼圆 电脑字体幼圆怎么设置
  6. 算法提升(一)二分法
  7. handler机制--handler概览
  8. 模糊查询和sql语句的拼接
  9. 【Verilog】消息码转AMI码的具体Verilog代码实践以及经验分享
  10. 机械键盘轴的区别用什么轴比较好 机械键盘轴的选择