Python - Unittest小结
程序员文章站
2022-03-25 17:20:51
一、Unittest 单元测试框架,可用于自动化测试用力组织,执行,输出结果 二、Unittest构成 1. Test Case 2. Test Suite 3. Test Fixture 4. Test Runner (图片来源于网络) Test Case 一个测试用例是一个独立的测试单元。它检查 ......
一、unittest
单元测试框架,可用于自动化测试用力组织,执行,输出结果
二、unittest构成
- test case
- test suite
- test fixture
- test runner
(图片来源于网络)
test case
一个测试用例是一个独立的测试单元。它检查输入特定的数据时的响应。 unittest 提供一个基类: testcase ,用于新建测试用例。
一个完整的用例需要遵循3a原则
- arrange: 初始化测试对象或者准备测试数据
- act : 调用被测方法
- assert: 断言(预期结果与实际结果的比较)
test suite
用于组织测试用例,测试用例的集合
—>
test fixture
test fixture 表示为了开展一项或多项测试所需要进行的准备工作,以及所有相关的清理操作。
- 定义单个或者多个测试所需的环境准备(setup),以及环境清理(teardown)。
- 例:连接数据库,或者创建selenium webdriver driver实例
test runner
测试运行器 是一个用于执行和输出测试结果的组件。这个运行器可能使用图形接口、文本接口,或返回一个特定的值表示运行测试的结果
demo.py
import unittest class testdemo(unittest.testcase): # 初始化测试对象或者准备测试数据 def setup(self): pass def teardown(self): pass def add(self, a, b): return a + b # 调用被测方法 def test_case_one(self): ret = self.add(1, 2) # 断言 self.assertequal(3, ret) def test_case_two(self): ret = self.add(1, 2) self.assertequal(1, ret) if __name__ == '__main__': unittest.main(verbosity=2)
uittest使用要点:
- 被测方法名需以test开头,否则不被识别
- verbosity参数默认为1,有3个参数可选(0,1,2),用于表示控制台输出报告的详细程度
推荐阅读
uittest官网
灰蓝 python必会的单元测试框架 —— unittest
测试教程网 uittest