首页 > 解决方案 > 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。有人可以帮助我吗?

标签: pytestwhitelist

解决方案


啊,不需要手动循环:

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

这似乎没问题。

运行 pytest -v


推荐阅读