unittest与pytest区别
从以下几个方面来区分:
**1.**用例编写及规则
unittest
1.使用自定义测试类,必须继承 unittest.TestCase
2.TestSuite:测试套件,使用需声明:unittest.TestCase()
3.测试方法必须以test_开头
4.执行测试类必须有方法 unittest.main()
pytest
1.测试文件名必须以test_开头或者以_test结尾
2.测试方法必须以test_开头
3.测试类命名以Test开头
**2.**用例执行
unittest
默认执行所有的用例也可以通过testsuit,执行部分用例
pytest
通过@pytest.mark来标记方法和类,pytest.main加入参数(-m)可以只运行标记的类与方法
**3.**用例的前置与后置
unittest
提供了setup/teardown,只能针对所有的用例
pytest
pytest的fixture更加灵活,可以任意自定义方法函数,只要加上@pytest.fixture()装饰器,被装饰的方法就可以调用
**4.**参数化
unittest
需要依赖ddt库,进行数据驱动
pytest
直接使用@pytest.mark.paramtrize装饰器
**5.**断言
unittest
有很多断言格式(assertIn,assertEquarl,asser