gpt4 book ai didi

python - 如何通过命令行在pytest中传递参数

转载 作者:行者123 更新时间:2023-12-04 16:46:21 27 4
gpt4 key购买 nike

我有一个代码,我需要从终端传递名称等参数。
这是我的代码以及如何传递参数。我收到一个我不明白的“找不到文件”类型的错误。

我在终端中尝试了命令:pytest <filename>.py -almonds我应该把名字打印成“杏仁”

@pytest.mark.parametrize("name")
def print_name(name):
print ("Displaying name: %s" % name)

最佳答案

在你的 pytest 测试中,不要使用 @pytest.mark.parametrize :

def test_print_name(name):
print ("Displaying name: %s" % name)

conftest.py :
def pytest_addoption(parser):
parser.addoption("--name", action="store", default="default name")


def pytest_generate_tests(metafunc):
# This is called for every test. Only get/set command line arguments
# if the argument is specified in the list of test "fixturenames".
option_value = metafunc.config.option.name
if 'name' in metafunc.fixturenames and option_value is not None:
metafunc.parametrize("name", [option_value])

然后您可以使用命令行参数从命令行运行:
pytest -s tests/my_test_module.py --name abc

关于python - 如何通过命令行在pytest中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51965320/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com