Python - Unittest小结
2024-10-08 05:29:27
一、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
最新文章
- opentsdb basic install
- SQL2008代理作业出现错误: c001f011维护计划创建失败的解决方法
- [Golang] 一个简易代理池
- 【转】XCode: duplicate symbol 解决方案
- WIN7里为什么没有TELNET,怎么添加
- 在HCI层ACL Connection的建立
- SDKInitializer.initialize报错求助
- 微信、微博、qq图标服务实现
- MVC——数据库增删改查(Razor)——Html语法
- CentOS使用sudo提示用户不在sudoers文件中的解决方法
- VS中新建网站和新建项目web应用程序的区别?(实际应用总结一点)
- [Redux] Redux: Extracting Container Components -- AddTodo
- oracle 初探内存结构
- LINUX诞生
- DateTime.Compare(t1,t2)比較两个日期大小
- java这些东西发展(4)-------无穷time of error
- [转]Data Structure Recovery using PIN and PyGraphviz
- VS2017 调试期间无法获取到变量值查看
- Leetcode_70_Climbing Stairs
- ubuntu安装postgresql以及pgadmin4当前最新(4.3)网页版