Repository navigation
Expand file tree
/
Copy pathpytest.ini
More file actions
89 lines (82 loc) · 2.61 KB
/
Copy pathpytest.ini
File metadata and controls
89 lines (82 loc) · 2.61 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# 历史配置:Flask 时代 Python 测试的 pytest 配置(非当前 C++/Vue 门禁)。
#
# 当前活跃栈的测试入口:
# - 后端 C++:backend_cpp/build 下的 ctest
# - 后端 HTTP 集成:backend_cpp/tests/integration/run_integration.sh
# (使用该目录自己的 pytest.ini,由 runner 通过 -c 指定)
# - 前端:frontend 下的 npm run test:coverage / test:e2e
#
# testpaths 原先指向 `tests`,但该目录已在迭代19 迁至
# docs/archive/legacy-flask-tests/。指向不存在的目录会让任何裸 `pytest` 调用
# 回退到从调用目录收集整个仓库——迭代20 的集成测试 job 正是因此收进了归档
# Flask 用例(其依赖未安装)而以收集错误失败。这里改指归档目录。
[pytest]
python_files = test_*.py *_test.py
python_classes = Test*
python_functions = test_*
testpaths = docs/archive/legacy-flask-tests
pythonpath = . woniunote
# Test configuration options
addopts =
-v
--tb=short
--disable-warnings
--timeout=10
--timeout-method=thread
--strict-markers
--cov=woniunote
--cov-report=html:htmlcov
--cov-report=xml
--cov-report=term-missing
--cov-branch
# Test markers
markers =
slow: marks tests as slow (deselect with '-m "not slow"')
unit: marks unit tests
functional: marks functional tests
integration: marks integration tests
browser: marks tests that use a browser (deselect with '-m "not browser"')
security: marks security-related tests
performance: marks performance tests
database: marks database-related tests
api: marks API tests
critical: marks critical path tests
# Filter warnings
filterwarnings =
ignore::DeprecationWarning
ignore::PendingDeprecationWarning
ignore::UserWarning
ignore::pytest.PytestDeprecationWarning
ignore:pkg_resources is deprecated:DeprecationWarning
ignore:.*Working outside of application context.*:Warning
ignore:.*Working outside of request context.*:Warning
# Coverage configuration
[coverage:run]
source = woniunote
omit =
*/tests/*
*/test_*
*/__pycache__/*
*/migrations/*
*/venv/*
*/env/*
[coverage:report]
exclude_lines =
pragma: no cover
def __repr__
if self.debug:
if settings.DEBUG
raise AssertionError
raise NotImplementedError
if 0:
if __name__ == .__main__.:
class .*\bProtocol\):
@(abc\.)?abstractmethod
[coverage:html]
directory = htmlcov
[tool:pytest]
testpaths = tests
python_files = test_*.py *_test.py
python_classes = Test*
python_functions = test_*
addopts = -v --tb=short --cov=woniunote --cov-report=html --cov-report=term-missing