• 关于断言(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则是断言失败时输出的失败消息的字符串.

  • 相关阅读:
    根据表生成接收(zml)
    删除指定日期,指定设备的排产记录(zml)
    1029 Median
    1027 Colors in Mars (20 分)进制转换
    1028 List Sorting 排序
    1025 PAT Ranking
    1024 Palindromic Number(大数加法)
    1023 Have Fun with Numbers
    1022 Digital Library
    逆序打印乘法表
  • 原文地址:https://www.cnblogs.com/enhe/p/5312559.html
Copyright © 2020-2023  润新知