forked from lwgray/marcus
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpytest.ini
More file actions
61 lines (49 loc) · 1.86 KB
/
Copy pathpytest.ini
File metadata and controls
61 lines (49 loc) · 1.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
[pytest]
# pytest configuration for PM Agent
# Test discovery
python_files = test_*.py
python_classes = Test*
python_functions = test_*
# Test paths - focus on unit tests by default
testpaths = tests/unit
# Exclude archived and future features from discovery
norecursedirs = tests/archive tests/future_features .git .tox dist build *.egg
# Asyncio configuration
asyncio_mode = auto
asyncio_default_fixture_loop_scope = function
# Output options
addopts =
-v
--tb=short
--strict-markers
--disable-warnings
-p no:warnings
# Markers
markers =
# Speed markers
unit: Unit tests that run in isolation (<100ms, all mocked)
fast: Fast integration tests (<5s, mocked external services)
slow: Slow tests (>30s, real external services or complex workflows)
# Type markers
integration: Integration tests (any speed)
e2e: End-to-end tests that test complete workflows
performance: Performance and benchmark tests
# Integration type markers
internal: Internal integration tests (mocked external services)
external: External integration tests (real external services)
# Service requirement markers
kanban: Tests that require real Kanban board (Planka, GitHub)
github: Tests that require real GitHub API
ai: Tests that require real AI provider (expensive, use sparingly)
database: Tests that require real database
# Async markers
asyncio: mark test as async
anyio: Tests using anyio for async operations
# Special markers
visualization: Visualization tests that must be run separately
flaky: Tests that may fail intermittently and should be retried
baseline: Tests that establish performance baselines
no_mock: Tests that use real implementations only
# Coverage options (if using pytest-cov)
# addopts = --cov=src --cov-report=html --cov-report=term-missing
# Timeout for async tests (seconds)