gpt4 book ai didi

python - 如何使用 pytest 测试不同模块中的相同功能

转载 作者:太空宇宙 更新时间:2023-11-03 18:19:24 25 4
gpt4 key购买 nike

我想对来自不同模块的函数运行测试(在一个模块中我定义了调用一些 C++ 代码的函数,在另一个模块中我有调用不同代码的相同函数)。使用 py.test 的方法是什么?

最佳答案

您可以使用metafunc并使用pytest_addoptionpytest_generate_tests函数创建conftest.py文件:

def pytest_addoption(parser):
parser.addoption("--libname", action="append", default=[],
help="name of the tested library")

def pytest_generate_tests(metafunc):
if 'libname' in metafunc.fixturenames:
metafunc.parametrize("libname", metafunc.config.option.libname)

tests.py 文件的函数中,您可以使用 importlib 并询问 libname:

def test_import(libname):
import importlib
tested_library = importlib.import_module(libname)
.......

现在,运行测试时,您应该提供要测试的模块的名称:py.testtests.py --libname=your_name1(您也可以添加--libname=your_name2)

关于python - 如何使用 pytest 测试不同模块中的相同功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24421884/

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