pytest - 如何递归搜索?

时间:2018-02-10 10:16:04

标签: python python-3.x pytest

我有以下tests目录树:

tests/
  subfolder_1/
    test_1.py
  subfolder_2/
    subsubfolder/
      subsubsubfolder/
        test_2.py

py.test只找到test_1.py。如何找到test_2.py

2 个答案:

答案 0 :(得分:2)

pytest总是以递归方式搜索,除非你另有说明(使用norecursedirs选项)。

如果pytest未能收集您的某些测试,请仔细检查:

  1. 测试文件位于testpaths配置模式下(默认:当前目录),
  2. 测试文件与python_files配置模式匹配(默认值为test_*.py*_test.py),
  3. 测试类符合python_classes配置模式(默认值:Test*)和
  4. 测试函数与python_functions配置模式匹配(默认值:test*)。

答案 1 :(得分:1)

Pytest在查找名为test.py或类似名称的文件时遇到了一些问题。尝试为其提供更专业的名称,例如test_subfolder1.pytest_subfolder2.py左右。还要确保所有文件夹都是包,其中包含__init__.py文件。