Pytest介绍
pytest 是 python 的一种单元测试框架,与python 自带的 unittest测试框架类似,但是比unittest 框架使用起来更简洁,效率更高。根据pytest 的官方网站介绍,它具有如下特点:
- 非常容易上手,入门简单,文档十分丰富。
- 支持参数化设置,而且执行过程中可以跳过某一些测试,并对一些预计会执行失败的用例进行提前标记。
- 可以设置用例的重跑次数,用例执行失败时会重复进行运行。
- 可以生成html测试报告,使测试结果更加直观、明确。
- 可以结合jenkins进行持续集成。
- 支持第三方插件,并且可以自定义进行扩展。
- 最重要的一点是可以拿出去装逼,因为现在出去面试,你说你会unittest而不会pytest,感觉会受到赤裸裸的歧视。
![在这里插入图片描述](https://img.php1.cn/3cd4a/1e618/cd5/af17da15769ccb2e.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NsMDEyMjQzMTg=,size_16,color_FFFFFF,t_70)
Pytest安装
Pytest的安装十分简单,直接使用pip install pytes命令就可以了。
![在这里插入图片描述](https://img.php1.cn/3cd4a/1eebe/cd5/b428d8f746fb8d47.webp?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NsMDEyMjQzMTg=,size_16,color_FFFFFF,t_70)
安装完成后,可以使用pip show pytest查看pytest的安装版本。
![在这里插入图片描述](https://img.php1.cn/3cd4a/1eebe/cd5/e3aa5425383ba10d.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NsMDEyMjQzMTg=,size_16,color_FFFFFF,t_70)
当然了,我们也可以同样使用pytest --version命令来查看pytest的安装版本。
![在这里插入图片描述](https://img.php1.cn/3cd4a/1eebe/cd5/0d80e8a685a9a87b.png)
Pytest调试
pytest完成后,我们来进行一下简单的测试,新建一个test_sample.py文件,如下所示。
def func(x):return x + 1def test_answer():assert func(3) == 5
用例编写完成后,我们接下来进行运行,首先打开test_sample.py所在的文件夹下,然后使用cmd窗口输入pytest test_sample.py后进行回车就可以可到运行结果。如下图所示。
![在这里插入图片描述](https://img.php1.cn/3cd4a/1eebe/cd5/7d7ef3f69d479716.webp?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NsMDEyMjQzMTg=,size_16,color_FFFFFF,t_70)
这里要注意的是,pytest运行测试用例通过的话使用.来表示Pass的,F表示Failed,并且失败的话,会把失败的部分打印出来。
'''
运行失败案例
'''
def func(x):return xdef test_answer():assert func(5) == 6
![在这里插入图片描述](https://img.php1.cn/3cd4a/1eebe/cd5/fb32005f2115b419.webp?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NsMDEyMjQzMTg=,size_16,color_FFFFFF,t_70)
以上就是Pytest安装的介绍,后面会介绍怎么使用Pycharm运行pytest测试用例,希望这文章对大家会有一丢丢的帮助。
![在这里插入图片描述](https://img.php1.cn/3cd4a/1eebe/cd5/ddcc574beb16294e.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NsMDEyMjQzMTg=,size_16,color_FFFFFF,t_70)