unittest官方文档
本篇随笔承接:
Python3+unitest自动化测试初探(中篇)
Python3+unitest自动化测试初探(上篇)
9、用例结果校验
用unittest来完成自动化测试时,结果校验无疑是非常重要的。用例校验不完整或者校验过于简单,是无法发现产品的缺陷或Bug的。就自动化测试来而言,其目的是代替部分手动测试,将测试人员从繁重重复的功能测试中解放出来。试想一下,一些缺少校验或简单校验的用例运行完后通过率即使达到100%,这能说明产品或版本没有任何问题吗?能够增强版本发布的信心吗?unittest提供了很多断言方法用于测试结果的校验。常用的断言方法如下:
所有的断言方法都提供一个可选参数msg,用于在测试失败时显示。
- assertEqual(a, b,msg=None):校验a是否等于b,如果相等,测试通过,反之则测试失败。msg为可选参数,如果传入了该参数,在测试失败时会打印。
>>> class assertTest(unittest.TestCase):
... pass
...
>>> ast1 = assertTest()
>>> ast1.assertEqual(1,2,msg="1 is not equal to 2")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.7/unittest/case.py", line 839, in assertEqual
assertion_func(first, second, msg=msg)
File "/usr/local/lib/python3.7/unittest/case.py", line 832, in _baseAssertEqual
raise self.failureException(msg)
AssertionError: 1 != 2 : 1 is not equal to 2
- assertNotEqual(a, b, msg=None):校验a是否不等于b,如果不相等,测试通过。反之则测试失败。
- assertTrue(x,msg=None):验证x是否为True