From: http://www.testclass.net/pytest/multiple_tests/

背景

在现实的测试活动中,我们经常会定义多个用例文件,用来实现业务逻辑或其他逻辑上用例的物理分隔,比如

login_test.py # 登录相关功能的测试用例
cart_test.py # 购物车相关功能的测试用例
checkout_test.py # 结算相关功能的用例
order_test.py # 订单相关功能的用例

使用pytest可以很方便的执行批量执行一组文件中定义的用例。

潜规则

在批量执行用例之前,我们需要了解一下pytest的潜规则,注意,由于pytest可以支持丰富的定制选项,下面的潜规则是在没有定制的默认情况下的缺省规则

  • pytest会找当前以及递查找子文件夹下面所有的test_*.py*_test.py的文件,把其当作测试文件
  • 在这些文件里,pytest会收集下面的一些函数或方法,当作测试用例
    • 不在类定义中的以test_开头的函数或方法
    • 在以Test开头的类中(不能包含__init__方法),以test_开头的方法
  • pytest也支持unittest模式的用例定义

实例

新建test_calc.py文件,与上一节的test_quick_start.py放在同一文件夹下,敲入下面的内容

def add(x, y):
return x + y def test_add():
assert add(1, 0) == 1
assert add(1, 1) == 2
assert add(1, 99) == 100

现在当前文件夹下应该有2个文件

test_calc.py
test_quick_start.py

运行

在当前文件夹敲下面的命令

pytest

结果大致应该如下所示

$ pytest
========================================================================= test session starts =========================================================================
platform darwin -- Python 2.7.12, pytest-3.2.3, py-1.4.34, pluggy-0.4.0
rootdir: /Users/easonhan/code/testclass.net/src/pytest, inifile:
collected 2 items test_calc.py .
test_quick_start.py . ====================================================================== 2 passed in 0.01 seconds =======================================================================

总结

上面的例子里

  • 所有以test_开头的py文件都被当成了测试文件
  • 所有测试文件中以test开头的方法被当成了测试用例执行

pytest.2.运行多个文件的更多相关文章

  1. jenkins+pytest+ allure运行多个py文件测试用例

    jenkins的pytest运行多个py文件,导出allure报告方法,只需改下job的配置中的构建即可(pytest会运行指定文件下的所有test开头的py文件),如下:              ...

  2. 【pytest】(三) pytest运行多个文件

    1.运行多个测试文件 pytest 会运行 test_ 开头 或者 _test 结尾的文件,在当前目录和子目录中 2. 一个类下的多个用例的运行, pytest会找到 test_ 开头的方法 impo ...

  3. pycharm中不以pytest方式运行,以普通方式运行的方法

    问题: 在调试一个很简单的代码时无法输出结果,运行结果如下形式: 出现以上情况,主要是因为在运行时是以pytest方式运行的,要换回以普通方式去运行. 问题解决: 首先是红色圈圈里的白色三角形. 然后 ...

  4. pytest-pyppeteer:在pytest中运行pyppeteer

    pytest-pyppeteer pytest-pyppeteer是我写的一个 pytest 插件,支持在 pytest 中运行pyppeteer,起因是为了解决工作中的一个测试需求,现在将其开源并做 ...

  5. 关于SQL Server 安装程序在运行 Windows Installer 文件时遇到错误

    前几日安装sql server2008r2 的时候碰到这个问题: 出现以下错误: SQL Server 安装程序在运行 Windows Installer 文件时遇到错误. Windows Insta ...

  6. IAR编译ZStack-CC2530为可下载运行的HEX文件的正确配置

    转自IAR编译ZStack-CC2530为可下载运行的HEX文件的正确配置 IAR编译ZStack-CC2530为可下载运行的HEX文件的正确配置:        1.正确配置输出文件格式:菜单选择P ...

  7. 如何使用AdvancedInstaller在安装包中运行一个.bat文件

    原文:如何使用AdvancedInstaller在安装包中运行一个.bat文件 1,  首先要保证你的Files and Folders模块下的Application Folder文件夹下包含你要运行 ...

  8. Django 在Django项目里单独运行某个py文件

    Python文件开头写以下代码: import os import django # 在environ字典里设置默认Django环境,'xxxx.settings'指Django项目的配置文件 os. ...

  9. 运行 python *.py 文件出错,如:python a.py

    运行 python *.py 文件出错,如:python a.py(下图) 原因:没有安装web.py 解决:下载并安装 网址:http://webpy.org/install#install  (h ...

随机推荐

  1. Linux串口设备树硬件、软件流控设置

    /********************************************************************** * Linux串口设备树硬件.软件流控设置 * 说明: ...

  2. maven工程的多环境配置方案(profile)

    前言: 写一篇水文来打发下时间吧^_^. 在应用开发中, 总会遇到开发/测试/预发布/线上环境, 其环境不同, 其具体的配置项也有所不同, 因此如何快速的切换各个环境配置, 进行打包配置, 成了一个小 ...

  3. 【leetcode】69-Sqrt(x)

    problem Sqrt(x) code class Solution { public: int mySqrt(int x) {// x/b=b long long res = x;// while ...

  4. 关于PHP程序员技术职业生涯规划[转]

    看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是学习各种PHP框架 ...

  5. Angular 插值字符串

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. Cloth

    https://www.youtube.com/watch?v=2zd1AI198I8Blender Tutorial For Beginners: Cloth Napkin 建模, 1透明玻璃杯, ...

  7. Maven命令安装jar包到本地仓库

    https://blog.csdn.net/moxiong3212/article/details/78767480 当需要的jar包在中央仓库找不到或者是想把自己生成的jar包放到的Maven仓库中 ...

  8. Go Example--错误处理

    package main import ( "errors" "fmt" ) //定义一种错误类型 type argError struct { arg int ...

  9. linux前后台任务的切换以及执行暂停

    command & 把command命令放到后台执行 ctrl+z 暂停该任务,并且放到后台 jobs 查看任务 bg n 把jobs号码为n的任务放到后台执行 fg n 把jobs号码为n的 ...

  10. JDBC模拟用户登录

    代码: import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import ...