c50ccd258f
refactor(tests): 将e2e_tests迁移到tests_suite和api_integration_tests style: 为Java类添加文档注释 docs: 更新.gitignore和配置文件 test: 添加性能测试和Playwright测试脚本 chore: 清理旧测试文件和配置
112 lines
2.6 KiB
TOML
112 lines
2.6 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=45", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "tests-suite"
|
|
version = "1.0.0"
|
|
description = "统一测试套件 - Novalon管理系统"
|
|
authors = [
|
|
{name = "张翔", email = "zhangxiang@example.com"}
|
|
]
|
|
readme = "README.md"
|
|
requires-python = ">=3.9"
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
python_files = ["test_*.py"]
|
|
python_classes = ["Test*"]
|
|
python_functions = ["test_*"]
|
|
addopts = [
|
|
"-v",
|
|
"--strict-markers",
|
|
"--tb=short",
|
|
"--cov=test_utils",
|
|
"--cov-report=html",
|
|
"--cov-report=term-missing",
|
|
"--alluredir=allure-results",
|
|
]
|
|
markers = [
|
|
"unit: 单元测试",
|
|
"integration: 集成测试",
|
|
"e2e: 端到端测试",
|
|
"performance: 性能测试",
|
|
"security: 安全测试",
|
|
"smoke: 冒烟测试",
|
|
"regression: 回归测试",
|
|
"slow: 慢速测试",
|
|
"playwright: Playwright浏览器自动化测试",
|
|
"auth: 认证相关测试",
|
|
"user: 用户管理测试",
|
|
"role: 角色管理测试",
|
|
"permission: 权限管理测试",
|
|
"menu: 菜单管理测试",
|
|
"websocket: WebSocket实时通信测试",
|
|
"example: 示例测试",
|
|
"exception: 异常场景测试",
|
|
"dictionary: 字典管理测试",
|
|
"dict: 字典管理测试",
|
|
"config: 系统配置测试",
|
|
"audit: 审计日志测试",
|
|
"notice: 通知公告测试",
|
|
"file: 文件管理测试",
|
|
]
|
|
asyncio_mode = "auto"
|
|
|
|
[tool.coverage.run]
|
|
source = ["test_utils"]
|
|
omit = [
|
|
"*/tests/*",
|
|
"*/test_*.py",
|
|
"*/__pycache__/*",
|
|
"*/site-packages/*",
|
|
]
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"def __repr__",
|
|
"raise AssertionError",
|
|
"raise NotImplementedError",
|
|
"if __name__ == .__main__.:",
|
|
"if TYPE_CHECKING:",
|
|
"@abstractmethod",
|
|
]
|
|
|
|
[tool.black]
|
|
line-length = 100
|
|
target-version = ['py39', 'py310', 'py311', 'py312', 'py313']
|
|
include = '\.pyi?$'
|
|
extend-exclude = '''
|
|
/(
|
|
# directories
|
|
\.eggs
|
|
| \.git
|
|
| \.hg
|
|
| \.mypy_cache
|
|
| \.tox
|
|
| \.venv
|
|
| build
|
|
| dist
|
|
)/
|
|
'''
|
|
|
|
[tool.isort]
|
|
profile = "black"
|
|
line_length = 100
|
|
multi_line_output = 3
|
|
include_trailing_comma = true
|
|
force_grid_wrap = 0
|
|
use_parentheses = true
|
|
ensure_newline_before_comments = true |