如何获取文件夹中所有pytest测试的pythonic列表?

时间:2016-06-28 11:15:45

标签: pytest

类似于--collect,仅来自python而不是cmd,它返回一个路径列表。我试着看看pytest是如何做到的,我似乎无法找到它。

谢谢!

1 个答案:

答案 0 :(得分:1)

所有收集的测试都将存储为items的属性session。 您可以通过

访问session对象
  1. 会话级fixture
  2. pytest插件,例如:pytest_runtestlooppytest_sessionstart
  3. 示例:

    @pytest.fixture(scope='session', autouse=True)
    def get_all_tests(request):
        items = request.session.items
        all_tests_names = [item.name for item in items]
        all_tests_locations = [item.location for item in items]
        # location is a tuple of (file_path, linenumber, Classname.methodname)
    

    如果您想了解有关对象sessionitem的更多信息,您可以阅读文档或源代码,但我更喜欢使用pdb.set_trace来深入了解对象。< / p>