【python学习】python断言assert-30

什么是断言呢?

断言就是世界结果与期望结果去对比,符合预期的测试就是pass,不符合预期的测试就是failed。python当中的 assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常

assert  表达式 , 描述

表达式为我们的预期结果,当表达式的结果为False时,抛出 AssertionError 异常,如无异常捕获程序遇到异常时直接结束运行。反之,表达式结果为True 程序继续向下运行。

我们何时使用断言?

断言需要慎用,尤其是写测试用例或者程序时,因为我们运行程序时,如果断言失败,无异常捕获程序则会结束运行,导致后面的代码无法执行。

断言一般用在防御型的编程、运行时检查程序逻辑、检查约定、程序常量、检查文档时,在从来不会运行失败的代码不必要加上断言。

常见的格式:

assert 1==1
from random import randint

def random_num():
    return randint(1,10)

def test_1():
    assert random_num() == 2

常见的基本断言方法:

import unittest
import random
# 定义测试类
c=random.randint(10,100)
d=random.randint(10,100)
class TestDemo(unittest.TestCase):
    def test_a(self,a=c,b=d):
        try:
            self.assertEqual(a,b)
            print("{0}等于{1},a的值:{0},b的值:{1}".format(a,b))
        except:
            print("{0}不等于{1},a的值:{0},b的值:{1}".format(a,b))
            raise
    def test_b(self,a=c,b=d):
        try:
            self.assertNotAlmostEqual(a,b)
            print("{0}不等于{1},a的值:{0},b的值:{1}".format(a,b))
        except:
            print("{0}等于{1},a的值:{0},b的值:{1}".format(a,b))
            raise

if __name__ == '__main__':
    unittest.main()

猜你喜欢

转载自blog.csdn.net/admins_/article/details/122401960