zoukankan      html  css  js  c++  java
  • 关于断言(Assert)

      断言,字面上的意思大致是十分肯定的说,也就是说我们相信这个结果是真的.如果我们的断言不为真,那这个这个结果就和我们预期的结果不一样.在编程上同理,如果程序运行出来的结果和你想要的结果不一致,那你的程序里面的这个方法或者函数就达不到你想要的需求,也就是说这个程序是有一些问题的.这是网上关于断言的一些解释.

    编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。

      其实我感觉,断言就像是一个if语句,如果结果和你的预期一样,那么OK,结果为真继续运行.如果结果和预期不符,那么程序会抛出一个系统级错误(不是异常),并且终止程序运行.例如下面这个单元测试.

    1 public void AddTest()
    2  {
    3             int a = 20;
    4             int b = 20;
    5 
    6             Assert.AreEqual(Program.Add(a,b),40);
    7 }

    这是对一个加法方法的测试,我们分别给两个数a,b赋值并作为参数传递到方法Add(int num1,num2)中,Line 6 中的语句就是设置的断言,在这里我断言Add的返回值和40相等,运行测试,结果如下图:

    当我们把断言中的结果设置成其他的数字,再次运行测试,结果就会变成这样:

      断言的使用包括以下两种形式:

    1. assert Expression1
    2. assert Expression1:Expression2

      其中Expression1是一个布尔值,来判断断言是否成功.Expression2则是断言失败时输出的失败消息的字符串.

  • 相关阅读:
    java_day20_Servlet
    前端_day08_定位
    前端_day07_浮动和清除浮动
    前端_day06_CSS选择器
    前端_day05_HTML常见标签
    数据库_day06_多表查询,子查询,事务,sql注入
    java_day19_MVC和配置文件
    chrome更新flash player失败
    jar打包命令使用
    win7开启远程桌面服务
  • 原文地址:https://www.cnblogs.com/enhe/p/5312559.html
Copyright © 2011-2022 走看看