因此,基本上我想测试我的API的顶层,通过提供必要的接口参数并利用Pytest来完成。
我有一script.py表示顶层的www.example.com,它看起来像这样:
def run_local
'do something here'
return valid_values
在test.py这个文件中,我的装饰器的输入是一个.yaml文件,它在我的pycharm config中被设置为附加参数。
import pytest
import os
import sys
from parentdir.script import run_local
@pytest.fixture()
def run_config():
run_parameters_dir = sys.argv[1]
return config
def test_run_local_values(config, run_local):
config = config
valid_run_local = run_local(config)
assert all(valid_run_local)
我收到的错误消息是:
- 测试设置失败文件/test.py
默认测试_rub_local(配置,运行_本地):E找不到夹具'run_local'*
所以我无法在我的www.example.com文件中测试run_local函数script.py,因为我似乎无法在我的www.example.com文件中正确导入run_local函数test.py。我不想模拟任何东西,我实际上想用我在配置文件中导入的参数测试函数run_local。我该怎么办?
1条答案
按热度按时间gdx19jrr1#
我认为你在这里混淆了一些概念。
1.看起来您正在使用run_local作为fixture
测试运行本地值(配置,运行本地)
此夹具不存在,因此出现错误。
1.如果你想导入函数并在测试中使用它,你必须在测试中调用函数,而不是将其作为参数传递给测试,如下所示:
1.此外,夹具“配置”不; t不存在,因此您无法将其传递给测试。
从您的问题来看,我认为最好的解决方案是创建run_local作为接受config的fixture。