码迷,mamicode.com
首页 > 其他好文 > 详细

pytest学习

时间:2019-06-12 18:11:12      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:入门   check   全局变量   集成   复杂   自带   用例   ret   编写   

1.Pytest介绍

pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但更简洁并高效。
官方网站优点简介:

  1. 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
  2. 能够支持简单的单元测试和复杂的功能测试
  3. 支持参数化
  4. 执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标记成失败
  5. 支持重复执行失败的case
  6. 支持运行由nose, unittest编写的测试case
  7. 具有很多第三方插件,并且可以自定义扩展
  8. 方便的和持续集成工具集成

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学习

标签:入门   check   全局变量   集成   复杂   自带   用例   ret   编写   

原文地址:https://www.cnblogs.com/testlearn/p/11010995.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!