pytest自定义命令行参数

摘要:
1.函数描述有一个测试方法:deftest_Train:printassertframework=='gbm'希望此方法的框架值可以通过pytest的参数传递,例如:pytest-framework=deeptables2。实现方法定义了一个称为framework的fixture。从命令行读取其值,然后将夹具注入测试方法。

1. 功能说明

有一个测试方法:

def test_train(framework):
    print(framework)
    assert framework == 'gbm'

希望该方法的framework的值可以通过 pytest的参数传递过来,比如:

pytest --framework=deeptables

2. 实现方法

自定义一个叫framework的fixture,它的值从命令行中读取,然后再把fixture 注入到测试方法中。

2.1. 自定义fixture

创建pytest配置文件conftest.py,内容如下:

# -*- encoding: utf-8 -*-
import pytest

def pytest_addoption(parser):
    parser.addoption("--framework", action="store", default="deeptables",
                     help="one of: deeptables, gbm")

@pytest.fixture
def framework(request):
    return request.config.getoption("--framework")

2.2. 编写测试方法,使用fixture

def test_train(framework):
    print(framework)
    assert framework == 'gbm'

2.3. 运行

pytest  --framework=xyz

输出:

framework = 'xyz'

    def test_train(framework):
        print(framework)
>       assert framework == 'gbm'
E       AssertionError: assert 'xyz' == 'gbm'

test/test_custom_option.py:8: AssertionError

Assertion failed

Assertion failed

免责声明:文章转载自《pytest自定义命令行参数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇限制IP注册到Eureka解决:apache 整合redmine 启动报错 mod_passenger.so: failed to map segment from shared object: Permission denied下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python描述符 (descriptor) 详解

1、什么是描述符? python描述符是一个“绑定行为”的对象属性,在描述符协议中,它可以通过方法重写属性的访问。这些方法有 __get__(), __set__(), 和__delete__()。如果这些方法中的任何一个被定义在一个对象中,这个对象就是一个描述符。 描述符,用一句话来说,就是将某种特殊类型的类的实例指派给另一个类的属性(注意:这里是类属性...

STM32中assert_param的使用

在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义;在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给出的参...

浅谈常见的特征选择方法

这只狗子越来越懒,大家可以直接看 notebook 版本的代码和结果 https://gitee.com/dogecheng/python/blob/master/machine_learning/%E7%89%B9%E5%BE%81%E9%80%89%E6%8B%A9.ipynb 这篇文章是“阉割”版,主要是分类任务的特征选择,不完全适用于回归任务,具体...

sklearn库调用k近邻算法

python实现KNN算法的全体流程代码#1-1KNN算法的原理底层代码import numpy as npimport matplotlib.pyplot as plt #导入相应的数据可视化模块raw_data_X=[[3.393533211,2.331273381],[3.110073483,1.781539638],[1.343808831,3.3...

Python接口测试入门

接口测试基础篇用几个简单的案例,带你轻松了解接口测试 首先了解一下接口测试的重要性: 接口测试有什么要求呢? 首先需要清晰的接口文档,标准如下: 接口名称 接口类型 输入参数 每个参数名; 每个参数类型; 每个参数业务含义; 每个是否可空; 每个字段长度(可选,一般需要提供,有严格要求的字段需特别注明); 输出参数 状态码; 提示信息; 每个参...

git分支概念与项目中的应用

文档:https://git-scm.com/book/zh/v2/Git-分支-分支简介 分支理解 master分支是项目在创建时候的默认分支,除此之外,它并没有更多的含义。 剩下的 “开发分支”,“灰度分支”, “预发布分支”, “需求分支”,“测试分支” 都是根据项目和需求约定的。它们本质上只是一个分支而已。 分支在项目中的应用 1、首先,我们创...