如何使用pytes从不同的模块测试相同的功能

2024-04-19 16:42:52 发布

您现在位置:Python中文网/ 问答频道 /正文

<>我想从不同的模块运行一个函数的测试(在一个模块中,我定义了调用C++代码的函数,而在另一个模块中,我有相同的函数调用不同的代码)。用什么方法做py.测试?在


Tags: 模块方法函数代码py定义函数调用
1条回答
网友
1楼 · 发布于 2024-04-19 16:42:52

可以使用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:

^{pr2}$

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

相关问题 更多 >