0

我正在尝试使用pytest配置系统编写单元测试,该配置系统应该在几个不同的位置查找配置文件。我可以pyfakefs通过fs插件使用来创建一个夹具,该夹具提供一组文件,包括一个位置的配置文件,但我希望进行单元测试以检查两个位置并且首选正确的位置。

我最初的想法是我可以创建第一个夹具,然后添加一个文件:

@pytest.fixture()
def fake_files(fs):
    fs.create_file('/path/to/datafile', contents="Foo")
    yield fs

@pytest.fixture()
def user_config(fake_files):
    fake_files.create_file('/path/to/user/config', contents="Bar")
    yield fake_files

这背后的想法是任何测试 usingfake_files都不会找到配置,但 usinguser_config会。但是,使用该user_config夹具的单元测试找不到该文件。这可能吗?

实际上在第一个夹具中添加了很多东西,因此将两个系统维护为两个完全独立的夹具会重复代码,我不清楚底层 fs 对象是否甚至可以并行使用。

4

0 回答 0