测试总结

unittest和pytest的区别

相同点:
1:两者都是测试套件,可以同时执行多个测试用例
2:两者都可以进行跳过测试用例
3:两者都有在测试用例执行前或执行后都执行的方法
4:两者都可以生成测试报告
5:每个测试的模块最好都要以Ttest或者统一的单词开头
6:每个测试模块的类最好都以Test开头或者统一的单词开头
7:每个测试用例的函数名必须以test开头
8:都有断言,只是写法不同
Unnitest.assertEquel(a,b,msg=”执行不成功的断言”)
Assert 判断条件 , 断言

不同点:
1:后者不需要继承类
Unnittest,每个测试类都必须写在类里面,继承unnitest.TestCase这个类
2:后者不需要每个测试类都导库
Unnittest的每一个测试类都要import一个unnittest的库,而pytest的测试用例类不需要,只需要在pytest.ini里面写配置参数就可以执行所有的测试用例,且里面不能有中文(Mac可以)
3:pytest可以在测试用例执行失败后再次测试,放置因为系统原因或其他间断性原因造成的影响
4:pytest还可以指定测试的顺序,而unnittest是根据每个测试类的排列以及测试类里面函数名的顺序来执行测试用例。使用@pytest.mark.rerun(order=n)装饰
5:pytest可以预制一些条件,在需要用的时候就调用传参就行 fixture,使用@pytest.fixture装饰
6:pytest的前置和后置有模块级别、类级别、函数级别,方法级别;unnittest只有setup,teardown和setupClass,tesrdownClass两种
7:参数化的方式不同。
pytest更加的简单,使用@pytest.mark.parametrize(argnames=“变量名”,argvalues=data),其中data是列表;unnitest需要依赖ddt
8:生成的报告
unnitest生成的简明的报告用的HTMLTestRunner
Pytes 生成的报告用pytest-html生成HTML格式的报告,也可以生成xml的报告;通过allure生成更详细的方案
8:两者下载的库不一样
Unnittest只需要下载unnitest库就够了
Pytest需要下载
Pytest;
Pytest-html 生成测试报告;
Python-ordering 指定函数执行顺序
Python-rerunfailures 失败函数的重试次数
Allure-pytest 生成allure报告

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值