最近工作中向同事学习了利用Python的unittest做自动化测试,另外简单查些资料做些补充。
测试的通用规则
测试单元应该集中于小部分的功能,并且证明它是对的。
每个测试单元应该完全独立,它们都能够单独运行,也可以在测试套件中运行,而不用考虑被调用的顺序。
unittest
unittest 是Python内置的单元测试测试框架,具备:
编写用例,即 test fixture
组织用例,即 test case,test suite
执行用例,即 test Loader
输出报告,即 test runner
等自动化测试框架必备条件。
test fixture
一个测试用例的初始化准备及环境还原,主要是 setUp() 和 setDown() 方法。
test case
一个完整的测试单元,执行该测试单元可以完成对某一个问题的验证。完整体现在:
测试前环境准备
执行测试代码
测试后环境还原
test suite
多个测试用例的集合,测试套件或测试计划。
test Loader
加载 TestCase 到 TestSuite 中的。
test runner
执行测试用例,并将测试结果保存到TextTestResult实例中,包括运行了多少测试用例, 成功了多少,失败了多少等信息。
unittest的工作原理
// todo
unittest实战