标签:Fix 命令 内容 有一个 code work 编写 定义 enc
有一个测试方法:
def test_train(framework):
print(framework)
assert framework == ‘gbm‘
希望该方法的framework的值可以通过 pytest的参数传递过来,比如:
pytest --framework=deeptables
自定义一个叫framework
的fixture,它的值从命令行中读取,然后再把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")
def test_train(framework):
print(framework)
assert framework == ‘gbm‘
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
标签:Fix 命令 内容 有一个 code work 编写 定义 enc
原文地址:https://www.cnblogs.com/oaks/p/13554504.html