python命令行式的优缺点_Pytest VS Unittest 简单说一下之间的优缺点

一、什么是单元测试框架?

unittest 是python标准的单元测试框架模块

pytest 是python第三方库的测试框架

二、从兼容性方面考虑

因unnitest是标准库,所以unnitest的兼容性更强

三、安装方面

unnitest是标准库,python是自带的,安装python以后可以直接导入

第三方库:需要独立安装,要注意兼容性,有可能会存在安装不成功,或者是某些库的功能使用不了。

四、unittest 的使用更加复杂一些, pytest 更加容易使用。

eg:

unittest

第一步:初始化测试套件

获取当前目录,

第二部:testloader.discover(test_case_dir), 加载测试用例

第三部:测试用例添加到测试套件

#生成测试报告的目录和文件名

第四步:启动器, 运行, testrunner.run()

pytest , 自动收集测试用例,自动执行测试用例。

pytest 运行:

1, pytest.main() python: 代码形式. 生产环境。

2, 命令行的形式 : 在项目根目录下运行 pytest 命令

3, pycharm 右键运行(如果pycharm 没有出现 pytest 命令,run. configraiton 当中进行配置。)

五、断言

pytest    assert 1=1

unittest  assertEqual(expected,autual)

六、pytest可以灵活运用指定的测试用例,标签化,回归,正向、冒烟、登陆

七、pytest (夹具)环境管理灵活,会话、模块,哪个用,哪个不用。fixture,setup,tearDown,setupClass,setUpModule

八、pytest有丰富的插件,测试报告。eg: allure

九、pytest 和unnitest/nose兼容 意思是以unnitest的框架写的用例,以pytest去执行是可以的,但是反之就不行。

十、pytest发现用例的格式为:

pytest 收集测试用例的规则(pytest 将怎样的函数看成是测试用例)

1, 模块名: test_*.py 或者是 *_test.py

2, 类名: TestLogin

3,   方法名: test_

4,   pytest 的测试用例并不一定要以类的形式存在,可以直接以函数的形式存在:

def test_demo():

pass

5.类形式:

class TestYang:

# 不要写 __init__() 函数, 容易报错

def test_yangleduo(self):

pass

当在哪个文件夹,(目录)执行 pytest 指令,那么 pytest 会自动发现当前目录下所有

test_ 开头的 py 文件,将这些文件当成测试用例文件.

unnitest 不能找到直接以函数的形式存在的用例

原文:https://www.cnblogs.com/yannuo-666/p/13089744.html

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

言雨潇

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值