unittest-python
一、创建
打开pycharm添加py文件,选择unittest
例如创建auto-test.py
二、使用
unittest的组件主要包含4个
1、TestCase
class 类名(unittest.TestCase):
创建类名,并继承unittest.TestCase,类名后面括号里表示继承,可以在这个类里面创建测试用例
2、Test Fixture
主要是测试用例执行的环境搭建、销毁,主要包含:setUpClass、tearDownClass、setUp、tearDown;
使用方法:
@classmethod
def setUpClass(cls):
@classmethod
def tearDownClass(cls):
A:必须使用@classmethod来修饰
B:cls不可缺
C:整个测试类结束后运行一次
def setUp(self):
A:self不可缺
B:每个测试用例运行前运行一次
def tearDown(self):
A:self不可缺
B:每个测试用例结束后运行一次
3、Test Suite
suite = unittest.TestSuite()
suite.addTest(MyTestCase)
可以添加进TestSiute进行运行
一般情况下,添加到test suite测试集的测试用例,它执行顺序是按ASCII来执行,就是按函数名test后面ABCDEFG....和123456来执行
我们也可以设置它的执行顺序:
test = [类名(函数名)]
如:
注意:有的时候设置好了执行顺序后。还是不生效,这可能是pycharm的执行配置问题,在导航栏打开:View--->Toolbar
然后选择:
这样太过于麻烦,建议还是按照ASCII来执行
4、Test Runner
runner = unittest.TestRunner
runner.run(suite)
可以通过实例化TestRunner来运行测试集
例子:
运行结果:
拓展:
有时候TestSuite不太方便一个个添加测试集,可以使用TestLoader添加测试机路径、名称
unittest.defaultTestLoader.discover(路径, 测试文件名称)
如:suite = unittest.defaultTestLoader.discover(case_path, "*case.py")
runner.run(suite)
断言:运行结果需要判断结果是否入预期设定:
常用断言有:
例子:
三、生成测试报告
需要导入HTMLTestRunner
使用方法如图:
运行生成测试报告如图: