1.unittest测试文件以test开头,测试方法以test开头;pytest测试文件以test开头,测试类以Test开头,方法以test开头
2.unittest执行,需要使用unittest类提供的discover方法,收集测试套件,然后通过beautifulreport提供的report方法执行并生成测试报告;
pytest执行,可以通过命令行的方式,结合allure插件,执行指定目录的测试文件并生成allure报告
3.unittest断言可以使用其提供的assertEqual、assertTrue 等方法,pytest断言使用的是assert关键字
4.unittest数据驱动使用ddt库,在需要数据驱动的测试类加上@ddt的装饰器,并在测试方法上加@ddt.data进行传参;
pytest数据驱动使用pytest提供的mark.paramterize装饰器
5.unittest前置后置使用setup/setupclass teardown/teardownclass,不是很方便,pytest提供了@pytest.fixture装饰器,通过传scope参数实现不同级别的前置后置处理
6.pytest可以通过mark装饰器给测试方法打标,在执行的时候通过 “-m 标记名称”实现执行指定的测试方法;还有失败重跑机制,pytest --reruns 3 --reruns-delay 2