pytest--简介及用例运行规则(一)

pytestpython的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点:

 

1.非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考

 

2.能够支持简单的单元测试和复杂的功能测试

 

3.支持参数化

 

4.支持重复执行(rerun)失败的case

 

5.支持运行由 unittest编写的测试case

 

6.方便的和持续集成工具jenkins集成

 

7.可支持执行部分用例

 

8.具有很多第三方插件,并且可以自定义扩展

 

 

安装:pip install –U pytest

接下来通过一些小demo对pytest有一个初步的认识。

test_demo.py内容如下:

两个测试函数,断言通过assert即可,相比unittest更加灵活,运行结果如下:

(在test_demo.py所在目录中执行pytestpy.test命令)

pytest会自动查找当前目录及其子目录下以test_*.py*_test.py文件,找到文件后,在文件中找到以test开头函数并执行,如上可见执行结果断言通过一个,失败一个。

这里需要注意一点,模块名与测试函数的命名规则,如不遵循pytest会找不到用例,如下:

只发现了test_two测试函数,或将测试文件的名称修改看下结果,如下将test_demo.py修改为demo.py,执行名后并不会发现测试文件:

虽然找不到测试文件但是可以通过指定文件来运行里面的测试函数

 

当测试函数较多的时候可以写在一个测试类里面便于管理:

需要注意基于pytest的测试类下不能含有__init__构造方法:否则执行会报错

总结以下规则:

1.如果pytest命令行有指定目录,则从该目录中开始查找测试用例文件,如果没有指定,则从当前运行目录开始查找文件。

2.并不是能够查找到目录下的所有文件,只有符合命名规则的文件才会被查找。默认规则是以test_开头或者以_test结尾的.py文件。

3.在测试文件中查找Test开头的类,以及类中以test_开头的方法,查找测试文件中test_开头的函数。

4.除非pytest命令指定到测试用例文件,否则测试用例文件命名应该以 test_开头或者以_test结尾。

5.测试函数命名,测试类的方法命名应该以test_开头。

6.测试类命名应当以Test开头,并且不能包含__init__方法。

当然这种规则不是一成不变的,如果因为某种需要,可以通过pytest.ini配置文件来修改命名规则 在测试系统的顶层目录创建pytest.ini文件,在pytest.ini文件中写入如下配置:


此时文件必须以a开头,测试类以b开头,测试函数以c开头,如下:

 

执行结果:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久醉绕心弦,

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值