unittest之断言

作者: 梵音11 | 来源:发表于2020-07-13 22:00 被阅读0次

    在测试用例中,执行完测试用例后,最后一步是判断测试结果是 pass 还是fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert)。

    用 unittest 组件测试用例的时候,断言的方法还是很多的,下面介绍几种常用的断言方法:assertEqual、assertIn、assertTrue

    一、案例:

    # coding:utf-8

    import unittest

    class Test(unittest.TestCase):

        def test01(self):

            '''判断a=b'''

            a = 1

            b = 1

            self.assertEqual(a,b)

        def test02(self):

            '''判断ainb'''

            a = "hello"

            b = "hello world"

            self.assertIn(a,b)

        def test03(self):

            '''判断a is true'''

            a = True

            self.assertTrue(a)

        def test04(self):

            '''断言失败'''

            a = "anne"

            b = "hhhhhh"

            self.assertEqual(a,b)

    if __name__ == "__main__":

        unittest.main()

    四个case中,最后一个会断言失败,执行结果如下:

    二、自定义异常:

    1).以 assertEqual 为例分析:

    assertEqual(self, first, second, msg=None)Fail if the two objects are unequal as determined by the '=='operator.

    2).翻译:如果两个对象不能相等,就返回失败,相当于 return: first==second

    3).这里除了相比较的两个参数 first 和 second,还有第三个参数 msg=None,这个 msg 参数就是遇到异常后自定义输出信息

    三、unittest常用的断言方法

    1).assertEqual(self, first, second, msg=None)

    --判断两个参数相等:first == second

    2).assertNotEqual(self, first, second, msg=None)

    --判断两个参数不相等:first != second

    3).assertIn(self, member, container, msg=None)

    --判断是字符串是否包含:member in container

    4).assertNotIn(self, member, container, msg=None)

    --判断是字符串是否不包含:member not in container

    5).assertTrue(self, expr, msg=None)

    --判断是否为真:expr is True

    6).assertFalse(self, expr, msg=None)

    --判断是否为假:expr is False

    7).assertIsNone(self, obj, msg=None)

    --判断是否为 None:obj is None

    8).assertIsNotNone(self, obj, msg=None)

    --判断是否不为 None:obj is not None

    创建了一个测试交流群,如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以加测试交流群:829792258,还会有同行一起技术交流

    相关文章

      网友评论

        本文标题:unittest之断言

        本文链接:https://www.haomeiwen.com/subject/ikozcktx.html