前言面试题:pytest如何执行不是test开头的用例?如执行 xxx_*.py这种文件的用例。 pytest.ini 配置文件可以修改用例的匹配规则。 pytest命令行参数cmd打开输入pytest -h 查看命令行参数找到 [pytest] ini-options pythonfiles (args) 匹配 python 用例文件, 如test.py、 _test.py python_classes (args) 匹配 class 类名称 如Test*.py pythonfunctions (args) 匹配函数和class里面方法 如test*
[pytest] ini-options in the first pytest.ini|tox.ini|setup.cfg file found:
markers (linelist) markers for test functions empty_parameter_set_mark (string) default marker for empty parametersets norecursedirs (args) directory patterns to avoid for recursion testpaths (args) directories to search for tests when no files or dire usefixtures (args) list of default fixtures to be used with this project python_files (args) glob-style file patterns for Python test module disco python_classes (args) prefixes or glob names for Python test class discover python_functions (args) prefixes or glob names for Python test function and m disable_test_id_escaping_and_forfeit_all_rights_to_community_support (bool) di console_output_style (string) console output: "classic", or with additional pr xfail_strict (bool) default for the strict parameter of xfail markers whe junit_suite_name (string) Test suite name for JUnit report junit_logging (string) Write captured log messages to JUnit report: one of n junit_duration_report (string) Duration time to report: one of total|call junit_family (string) Emit XML for schema: one of legacy|xunit1|xunit2 doctest_optionflags (args) option flags for doctests doctest_encoding (string) encoding used for doctest files cache_dir (string) cache directory path. filterwarnings (linelist) Each line specifies a pattern for warnings.filterwar log_print (bool) default value for --no-print-logs log_level (string) default value for --log-level log_format (string) default value for --log-format log_date_format (string) default value for --log-date-format log_cli (bool) enable log display during test run (also known as "li log_cli_level (string) default value for --log-cli-level log_cli_format (string) default value for --log-cli-format log_cli_date_format (string) default value for --log-cli-date-format log_file (string) default value for --log-file log_file_level (string) default value for --log-file-level log_file_format (string) default value for --log-file-format log_file_date_format (string) default value for --log-file-date-format addopts (args) extra command line options minversion (string) minimally required pytest version rsyncdirs (pathlist) list of (relative) paths to be rsynced for remote dis rsyncignore (pathlist) list of (relative) glob-style paths to be ignored for looponfailroots (pathlist) directories to check for changes 修改匹配规则pytest 默认查找用例匹配规则 如果我们想匹配以 xxx_*.py的文件,pytest.ini 文件放到项目的根目录。 在 pytest.ini 文件添加一项 python_files 即可 [pytest]
python_files = xxx_*.py 使用案例写一个 xxx_yoyo.py 的文件用例 # xxx_yoyo.py # 作者:上海-悠悠 QQ交流群:779429633 def test_1(): print("hello")
def test_2(): print("world") # xxx_yoyo.py # 作者:上海-悠悠 QQ交流群:779429633 def test_1(): print("hello")
def test_2(): print("world")
|