Py.Test 获取剩余的测试用例数

Py.Test getting remaining test case count

有没有办法获取尚未使用 Py.Test 执行的测试用例(在具有函数作用域的 py.test 设置夹具中或在 pytest_exception_interact 中)。

当测试用例失败时,我在我的 conftest 中设置一个全局标志以指示测试失败并在 pytest_exception_interact 和下一个函数的函数设置中将应用程序重置为默认状态,我在执行测试之前将此标志验证为 运行 一组先决条件。 现在,我不想 运行 当最后一个测试用例失败时我正在执行的操作。

我能够使用参数节点 (node.parent._collected ) 获取模块中的总测试信息,但我找不到检查测试是否已执行的方法。现在,我所做的就是检查此列表中当前测试的索引,看看有多少仍在等待执行的队列中。

def pytest_exception_interact(node, call, report):
    pass

如果谁有更好的解决办法请告诉我。

"pytest_exception_interact" 仅在引发异常时调用。

您可以使用:

def pytest_collection_finish(session):
    total_tests_number = len(session.items)