目錄:
- 安裝及入門
- 使用和調用方法
- 原有TestSuite使用方法
- 斷言的編寫和報告
- Pytest fixtures:清晰 模塊化 易擴展
- 使用Marks標記測試用例
- Monkeypatching/對模塊和環境進行Mock
- 使用tmp目錄和文件
- 捕獲stdout及stderr輸出
- 捕獲警告信息
- 模塊及測試文件中集成doctest測試
- skip及xfail: 處理不能成功的測試用例
- Fixture方法及測試用例的參數化
- 緩存: 使用跨執行狀態
- unittest.TestCase支持
- 運行Nose用例
- 經典xUnit風格的setup/teardown
- 安裝和使用插件
- 插件編寫
- 編寫鉤子(hook)方法
- 運行日志
- API參考
- 優質集成實踐
- 片狀測試
- Pytest導入機制及sys.path/PYTHONPATH
- 配置選項
- 示例及自定義技巧
- Bash自動補全設置
API參考-Special Variables
特殊變量
pytest在測試模塊中定義時以特殊方式處理一些全局變量。
collect_ignore
教程:自定義測試集合
可以在conftest.py文件中聲明以排除測試目錄或模塊。需要成為list[str]
。
collect_ignore = ["setup.py"]
collect_ignore_glob
教程:自定義測試集合
可以在conftest.py文件中聲明,以使用Unix shell樣式的通配符排除測試目錄或模塊。需要在list[str]
哪里str
可以包含glob模式。
collect_ignore_glob = ["*_ignore.py"]
pytest_plugins
可以在測試模塊和conftest.py文件中在全局級別聲明以注冊其他插件。可以是一個或。str``Sequence[str]
pytest_plugins = "myapp.testsupport.myplugin"
pytest_plugins = ("myapp.testsupport.tools", "myapp.testsupport.regression")
pytest_mark
教程:標記整個類或模塊
可以在測試模塊的全局級別聲明,以將一個或多個標記應用于所有測試功能和方法。可以是單個標記或標記列表。
import pytest
pytestmark = pytest.mark.webtest
import pytest
pytestmark = [pytest.mark.integration, pytest.mark.slow]
PYTEST_DONT_REWRITE(模塊文檔字符串)
PYTEST_DONT_REWRITE
可以將文本添加到任何模塊docstring以禁用 該模塊的斷言重寫。