assert用法

本文详细介绍了断言函数assert的使用,它在程序调试中用于检查特定条件。当条件不成立时,assert会打印错误信息并终止程序。此外,文中列举了常见的单元测试断言方法,如assertEqual、assertNotEqual等,这些方法用于验证代码逻辑的正确性。了解和正确使用这些断言工具,能有效提高软件测试的效率和质量。
摘要由CSDN通过智能技术生成

断言函数,用于在调试过程中捕捉程序错误assert() 会对表达式expression进行检测,类似if判断:

  • 如果expression的结果为 0(条件不成立),那么断言失败,表明程序出错,assert() 会向标准输出设备(一般是显示器)打印一条错误信息,并调用 abort() 函数终止程序的执行。
  • 如果expression的结果为非 0(条件成立),那么断言成功,表明程序正确,assert() 不进行任何操作。


要打印的错误信息的格式和内容没有统一的规定,这和标准库的具体实现有关(也可以说和编译器有关),但是错误信息至少应该包含以下几个方面的信息:

  • 断言失败的表达式,也即expression
  • 源文件名称;
  • 断言失败的代码的行号。


大部分编译器的格式如下所示:

Assertion failed: expression, file filename, line number

常用断言方法;

assertEqual(a,b,[msg='测试失败时打印的信息']): 断言a和b是否相等,相等则测试用例通过。
assertNotEqual(a,b,[msg='测试失败时打印的信息']): 断言a和b是否相等,不相等则测试用例通过。
assertTrue(x,[msg='测试失败时打印的信息']): 断言x是否True,是True则测试用例通过。
assertFalse(x,[msg='测试失败时打印的信息']): 断言x是否False,是False则测试用例通过。
assertIs(a,b,[msg='测试失败时打印的信息']): 断言a是否是b,是则测试用例通过。
assertNotIs(a,b,[msg='测试失败时打印的信息']): 断言a是否是b,不是则测试用例通过。
assertIsNone(x,[msg='测试失败时打印的信息']): 断言x是否None,是None则测试用例通过。
assertIsNotNone(x,[msg='测试失败时打印的信息']): 断言x是否None,不是None则测试用例通过。
assertIn(a,b,[msg='测试失败时打印的信息']): 断言a是否在b中,在b中则测试用例通过。
assertNotIn(a,b,[msg='测试失败时打印的信息']): 断言a是否在b中,不在b中则测试用例通过。
assertIsInstance(a,b,[msg='测试失败时打印的信息']): 断言a是是b的一个实例,是则测试用例通过。
assertNotIsInstance(a,b,[msg='测试失败时打印的信息']): 断言a是是b的一个实例,不是则测试用例通过。

————————————————
版权声明:本文为CSDN博主「cherish0123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cherish0123/article/details/79339744

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值