pytest基础----测试搜索规则(Test Discovery Rules)

  • 从一个或多个目录开始查找。你可以在命令行指定文件名和目录名。如果未指定则使用当前目录名
  • 在该目录和所有子目录下递归查找测试模块
  • 测试模块是指文件名为test_*.py和*_test.py的文件
  • 在测试模块中查找以test_开头的函数名
  • 查找名字以Test开头的类。其中,首先筛选掉包含__init__函数的类,再查找类中以Test_开头的类方法。
  • python_classes:通常,pytest的测试搜索规则是寻找以Test*开头的测试类,而且这个类不能有__init__()函数。但是,如果把测试类命名为<something>Test或者<something>Suite,怎么找到它呢?使用pytest.ini文件中的python_classes选项:
    【pytest】
    python_classes = *Test Test* *Suite
    这样设置允许我们像下面一样给类取名:
    class DeleteSuite():
    def test_delete_1():
    ...
    def test_delete_2():
    ...
    • python_files:和python_classes一样,python_files可以更改默认的测试搜索规则,而不是仅查找以test_*开头的文件和以*_test结尾的文件。
    【pytest】
    python_files = test_* *_test check_*
    上面的设置可以让pytest在搜索文件时,查找以check_开头的文件
    • python_functions:和上面的两个设置项类似,python_functions用来设置测试函数和方法的命名搜索规则。默认命名规则以test_*开头。如果想添加check_*,只需要加一个配置项:
    【pytest】
    python_functions = test_* check_*
    注:pytest的命名规则并不是强制性的,你可以根据自己的喜欢更改。
posted @ 2020-05-21 14:32  给自己一个改变的理由  阅读(474)  评论(0编辑  收藏  举报