关于python的测试框架,目前比较流行的有unittest、pytest、nosetest。今天要讲的是pytest与unittest之间的比较。
unittest是python内嵌的测试框架,原名为PyUnit。unittest提供了test cases、test suites、test fixtures、test runner相关的类,让测试更加明确、方便、可控。使用unittest编写用例,必须遵照如下规则:
1.测试文件必须先import unittest
2.测试类必须继承unittest.TestCase
3.测试方法必须以“test_”开头
4.测试类必需要有unittest.main()方法
pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效。使用pytest编写用例,必须遵照如下规则:
1.测试文件名必须以“test_”开头(如:test_ab.py)
2.测试方法必须以“test_”开头
这里很明显,编写测试用例的方法pytest就比unittest简单不少。
pytest能够执行unittest风格的测试用例,无须修改unittest用例的任何代码,有较好的兼容性。
pytest插件丰富,好比flask插件,可用于用例出错重跑;还有xdist插件,可用于设备并行执行。
总结:
python