pytest学习
Posted testlearn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest学习相关的知识,希望对你有一定的参考价值。
1.Pytest介绍
pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但更简洁并高效。
官方网站优点简介:
- 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
- 能够支持简单的单元测试和复杂的功能测试
- 支持参数化
- 执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标记成失败
- 支持重复执行失败的case
- 支持运行由nose, unittest编写的测试case
- 具有很多第三方插件,并且可以自定义扩展
- 方便的和持续集成工具集成
2. 安装pytest
下面两种安装方式二选一即可。
1 pip install -U pytest 2 easy_install -U pytest
安装完成验证安装的版本
pytest --version
3. 执行用例
-
简单执行单个用例
1 # content of test_sample.py 2 3 4 def func(x): 5 return x + 1 6 7 8 def test_func(): 9 assert func(3) == 5
到该模块的目录下,输入pytest(模块的名字与执行函数必须是test开头或_test结尾,否则不会被执行,切记!),见该代码执行的结果,见截图:
-
执行类中的测试
1 # content of test_class.py 2 3 class TestClass: 4 def test_one(self): 5 x = "this" 6 assert ‘h‘ in x 7 8 def test_two(self): 9 x = "hello" 10 assert hasattr(x, ‘check‘)
-
执行目录下指定用例
在测试中,有N个测试用例,但是我们只是想执行其中的一个用例,其它的用例不想执行,那怎么办呢?使用下面命令就可以执行单个用例
1 # $pytest -q /path/用例名 2 pytest -q test_case2.py
4.编写测试样例与规范
-
python命名规范
1 一 包名、模块名、局部变量名、函数名 2 全小写+下划线式驼峰 3 example: this_is_var 4 二 全局变量 5 全大写+下划线式驼峰 6 example: GLOBAL_VAR 7 三 类名 8 首字母大写式驼峰,否则会报错提示语法错误 9 example: ClassName()
-
测试用例规则
1 - 测试文件以test_开头(以_test结尾也行) 2 - 测试类以Test开头,并且不能带有__init__方法 3 - 测试函数以test_开头 4 - 断言使用基本的assert即可
以上是关于pytest学习的主要内容,如果未能解决你的问题,请参考以下文章