Files
novalon-manage-system/tests_suite/pyproject.toml
T
张翔 c50ccd258f feat: 重构测试框架并优化代码结构
refactor(tests): 将e2e_tests迁移到tests_suite和api_integration_tests
style: 为Java类添加文档注释
docs: 更新.gitignore和配置文件
test: 添加性能测试和Playwright测试脚本
chore: 清理旧测试文件和配置
2026-03-14 13:49:39 +08:00

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