Pytest:如何在所有其他测试之后运行一些测试,而不考虑标记

2024-04-29 11:17:41 发布

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

我有带标记的测试组:“烟雾”

@pytest.mark.smoke
def test_add_data_source():
.....

@pytest.mark.smoke
def test_del_data_source():
.....

我使用以下命令启动了测试:

pytest --strict -s -v -m smoke --alluredir=allure-results

没关系,一切都好了

现在我需要在所有测试完成后将我的Allure文件复制到Allure Report services中的Kubernetes中。这需要在任何情况下运行,与使用的标记无关。我使用了“拆卸”语法:

@pytest.fixture(scope="module",autouse=True)
def global_fixture():
    yield
    send_result()

但在本例中,它不会发送组中最后一次测试的诱惑文件。但如果我使用这样的附加测试,它会起作用:

@pytest.mark.smoke
def test_global_fixture():
    send_result()

但是我需要运行这个测试,而不考虑标记的任何过滤器。在所有其他试验之后,应通过以下两个命令运行At:

pytest --strict -s -v -m smoke --alluredir=allure-results
pytest --strict -s -v --alluredir=allure-results

我怎样才能做到这一点


Tags: 标记test命令sourcedatapytestdeffixture