Files
ticket-purchase/pyproject.toml
llbbl 5e82aac67a feat: Set up comprehensive Python testing infrastructure with Poetry
- 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
2025-06-20 13:46:55 -05:00

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"