mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/WECENG/ticket-purchase.git
synced 2026-09-20 08:04:02 +08:00
- Migrated from requirements.txt to Poetry for dependency management - Added pytest, pytest-cov, and pytest-mock as dev dependencies - Configured pytest with coverage reporting (80% threshold) - Created test directory structure with unit/integration separation - Added comprehensive pytest fixtures in conftest.py - Created validation tests to verify infrastructure setup - Updated .gitignore with testing and Claude-specific entries - Configured Poetry scripts for running tests
79 lines
1.6 KiB
TOML
79 lines
1.6 KiB
TOML
[tool.poetry]
|
|
name = "damai-ticket-automation"
|
|
version = "0.1.0"
|
|
description = "Automated ticket purchasing system for Damai.com"
|
|
authors = ["Your Name <your.email@example.com>"]
|
|
readme = "README.md"
|
|
packages = [
|
|
{ include = "damai" },
|
|
{ include = "damai_appium" }
|
|
]
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.8"
|
|
selenium = "4.18.1"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
pytest = "^8.0.0"
|
|
pytest-cov = "^5.0.0"
|
|
pytest-mock = "^3.14.0"
|
|
|
|
[tool.poetry.scripts]
|
|
test = "pytest:main"
|
|
tests = "pytest:main"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.pytest.ini_options]
|
|
minversion = "8.0"
|
|
testpaths = ["tests"]
|
|
python_files = ["test_*.py", "*_test.py"]
|
|
python_classes = ["Test*"]
|
|
python_functions = ["test_*"]
|
|
addopts = [
|
|
"-ra",
|
|
"--strict-markers",
|
|
"--strict-config",
|
|
"--cov=damai",
|
|
"--cov=damai_appium",
|
|
"--cov-branch",
|
|
"--cov-report=term-missing:skip-covered",
|
|
"--cov-report=html:htmlcov",
|
|
"--cov-report=xml:coverage.xml",
|
|
"--cov-fail-under=80",
|
|
]
|
|
markers = [
|
|
"unit: Unit tests",
|
|
"integration: Integration tests",
|
|
"slow: Tests that take a long time to run",
|
|
]
|
|
|
|
[tool.coverage.run]
|
|
source = ["damai", "damai_appium"]
|
|
omit = [
|
|
"*/tests/*",
|
|
"*/__init__.py",
|
|
"*/conftest.py",
|
|
]
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"def __repr__",
|
|
"if self.debug:",
|
|
"if __name__ == .__main__.:",
|
|
"raise AssertionError",
|
|
"raise NotImplementedError",
|
|
"if TYPE_CHECKING:",
|
|
]
|
|
precision = 2
|
|
show_missing = true
|
|
skip_covered = true
|
|
|
|
[tool.coverage.html]
|
|
directory = "htmlcov"
|
|
|
|
[tool.coverage.xml]
|
|
output = "coverage.xml" |