pytest-yaml-sanmu¶
pytest-yaml-sanmu是一个 pytest 插件,使pytest将yaml文件视为测试用例。
此外,还可以在YAML用例中中使用标记、夹具、变量,甚至调用Python函数。
# tests/usefixtures/test_mark_usefixtures_params.yaml
name: 使用fixture返回值
mark:
- usefixtures:
- name
steps:
- request:
method: get
url: https://www.baidu.com/?o=${name}
(.venv) C:\demo\pytest-yaml-demo>pytest
======================================= test session starts =======================================
platform win32 -- Python 3.12.0, pytest-8.2.2, pluggy-1.5.0
rootdir: C:\demo\pytest-yaml-demo
configfile: pytest.ini
plugins: allure-pytest-2.13.5, anyio-4.7.0, result-log-1.2.2, xdist-3.6.1, yaml-1.1.0
collected 58 items
tests\function\test_function.yaml . [ 1%]
tests\function\test_globals_functions.yaml . [ 3%]
tests\mark\test_mark_skip.yaml s [ 5%]
tests\mark\test_mark_skipif.yaml s. [ 8%]
tests\mark\test_mark_user.yaml .. [ 12%]
tests\mark\test_mark_xfail.yaml .XX [ 17%]
tests\parametrize\test_mark_parametrize.yaml ... [ 22%]
tests\parametrize\test_mark_parametrize_load_file.yaml ... [ 27%]
tests\parametrize\test_mark_parametrize_multi_mark.yaml ........................... [ 74%]
tests\parametrize\test_mark_parametrize_multi_param.yaml ... [ 79%]
tests\test_base.yaml . [ 81%]
tests\usefixtures\test_mark_usefixtures.yaml . [ 82%]
tests\usefixtures\test_mark_usefixtures_params.yaml ... [ 87%]
tests\usefixtures\test_mark_usefixtures_values.yaml .. [ 91%]
tests\variable\test_vars_globals.yaml . [ 93%]
tests\variable\test_vars_locals.yaml . [ 94%]
tests\variable\test_vars_marks.yaml .. [ 98%]
tests\variable\test_vars_shared.yaml . [100%]
============================ 54 passed, 2 skipped, 2 xpassed in 0.63s =============================