我有一堆由夹具产生的测试用例。我希望fixture能够根据命令行参数有选择地产生测试用例。我徒劳地尝试了几种方法。
使用灯具装饰器的参数参数:我无法访问'请求'上下文。
使用 pytest_generate_tests():我使用metafunc对象上下文获取命令行参数,并创建夹具以像this那样参数化测试。但是,我担心每次测试都会运行pytest_generate_tests(),并且丢失了整个装置。是这种情况吗?
我对pytest有点新意,所以我可能也没有正确使用该框架。所以,我可以采用其他方式开展这项工作。基本上我想根据命令行参数对我的测试进行参数化,并且它们需要是固定装置。
答案 0 :(得分:0)
You can use pytest_cmdline_main like this
def pytest_cmdline_main(config):
option = config.getoption('--your-option')
if option:
# use the option to modify fixture data
pytest_generate_tests is useful to generate fixture values on the fly.