Pytest,根据白名单验证文件列表

问题描述

我们有一个项目中的文件列表。还有白名单。就像下面失败的尝试一样:

import pytest

files=["a.txt","b.txt","c.txt"]
whitelist=["a.txt","q.txt","b.txt"]

@pytest.mark.parametrize("file_name",files)
def test_that_files_are_in_whitelist():
    assert all(???)

我想让 pytest 抱怨 c.txt 不在白名单中。有人能帮我吗?

解决方法

啊,不需要手动循环:

import pytest

files=["a.txt","b.txt","c.txt"]
file_whitelist=["a.txt","q.txt","b.txt"]

@pytest.mark.parametrize("file_name",files)
def test_that_files_are_in_whitelist(file_name):
    assert file_name in file_whitelist

这似乎没问题。

running pytest -v