man*_*t k 3 python pytest python-2.7
我知道如何在 pytest 中传递命令行参数。我想在 setup_class() 或 setup_module() 中针对作为命令行参数传递的变量进行打印或进行一些基本验证。
我可以在测试方法中访问这些变量,但不能在 setup_class 或 setup_module 中访问。这可能吗?
我想做这样的事情......
测试.py
def pytest_addoption(parser):
parser.addoption('--user',action='store', help='email id Ex: abc@infoblox.com')
Run Code Online (Sandbox Code Playgroud)
测试_1.py
import pytest
def setup_module():
print 'Setup Module'
def teardown_module():
print "Teardown Module"
class Test_ABC:
def setup_class(cls,request):
user = request.config.option.user
print user
print 'Setup Class'
def teardown_class(cls,request):
print 'Teardown Class'
def test_12(self,request):
print "Test_12"
assert 1==1
Run Code Online (Sandbox Code Playgroud)
在conftest.py中:
def pytest_addoption(parser):
"""Add the --user option"""
parser.addoption(
'-U', '--user',
action="store", default=None,
help="The user")
option = None
def pytest_configure(config):
"""Make cmdline arguments available to dbtest"""
global option
option = config.option
Run Code Online (Sandbox Code Playgroud)
option现在您可以从以下位置导入conftest:
from conftest import option
class Test_ABC:
def setup_class(cls):
user = option.user
print user
print 'Setup Class'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2108 次 |
| 最近记录: |