Skip to content

Commit 25cfbab

Browse files
committed
style: 优化代码质量和格式
1 parent 51b6580 commit 25cfbab

54 files changed

Lines changed: 1365 additions & 1058 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

examples/advanced_usage.py

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,15 @@ def get_raw_data(data_source, size):
2121
def process_data(raw_data, algorithm):
2222
"""处理数据生成器,依赖于raw_data"""
2323
if algorithm == "algo1":
24-
return [{"id": item["id"], "processed": item["id"] * 2} for item in raw_data]
24+
return [
25+
{"id": item["id"], "processed": item["id"] * 2}
26+
for item in raw_data
27+
]
2528
else:
26-
return [{"id": item["id"], "processed": item["id"] * 3} for item in raw_data]
29+
return [
30+
{"id": item["id"], "processed": item["id"] * 3}
31+
for item in raw_data
32+
]
2733

2834

2935
@param_generator
@@ -43,18 +49,20 @@ def validate_results(processed_data, threshold):
4349
@pytest.mark.parametrize("algorithm", ["algo1", "algo2"])
4450
@pytest.mark.parametrize("threshold", [0.5, 8.0])
4551
def test_dynamic_params_nesting(
46-
data_source, size, algorithm, threshold,
47-
raw_data, processed_data, is_valid
52+
data_source, size, algorithm, threshold, raw_data, processed_data, is_valid
4853
):
4954
"""多个动态参数嵌套依赖测试示例"""
5055
# 验证原始数据
5156
assert len(raw_data) == size
5257
assert all(item["source"] == data_source for item in raw_data)
53-
58+
5459
# 验证处理后的数据
5560
assert len(processed_data) == size
56-
assert all(item["id"] == raw_item["id"] for item, raw_item in zip(processed_data, raw_data))
57-
61+
assert all(
62+
item["id"] == raw_item["id"]
63+
for item, raw_item in zip(processed_data, raw_data)
64+
)
65+
5866
# 验证结果
5967
assert isinstance(is_valid, bool)
6068

@@ -86,15 +94,17 @@ def session_scoped_data():
8694

8795
class TestScopesUsage:
8896
"""作用域使用测试类示例"""
89-
97+
9098
@with_dynamic_params(
9199
func_data=function_scoped_data,
92100
class_data=class_scoped_data,
93101
mod_data=module_scoped_data,
94-
session_data=session_scoped_data
102+
session_data=session_scoped_data,
95103
)
96104
@pytest.mark.parametrize("input_value", [1, 2])
97-
def test_scope_management(self, input_value, func_data, class_data, mod_data, session_data):
105+
def test_scope_management(
106+
self, input_value, func_data, class_data, mod_data, session_data
107+
):
98108
"""作用域管理测试示例"""
99109
assert func_data == f"func_{input_value}"
100110
assert class_data == "class_shared"
@@ -118,16 +128,13 @@ def uncached_data():
118128
return time.time()
119129

120130

121-
@with_dynamic_params(
122-
cached_result=cached_data,
123-
uncached_result=uncached_data
124-
)
131+
@with_dynamic_params(cached_result=cached_data, uncached_result=uncached_data)
125132
@pytest.mark.parametrize("input_value", [1, 2])
126133
def test_cache_control(input_value, cached_result, uncached_result):
127134
"""缓存控制测试示例"""
128135
# 验证缓存结果
129136
assert cached_result == input_value * 10
130-
137+
131138
# 验证非缓存结果(每次都不同)
132139
assert isinstance(uncached_result, float)
133140

@@ -149,16 +156,13 @@ def eager_data(input_value):
149156
return input_value * 3
150157

151158

152-
@with_dynamic_params(
153-
lazy_result=lazy_data,
154-
eager_result=eager_data
155-
)
159+
@with_dynamic_params(lazy_result=lazy_data, eager_result=eager_data)
156160
@pytest.mark.parametrize("input_value", [1, 2])
157161
def test_lazy_loading(input_value, lazy_result, eager_result):
158162
"""懒加载控制测试示例"""
159163
# 验证懒加载结果
160164
assert lazy_result == input_value * 5
161-
165+
162166
# 验证非懒加载结果
163167
assert eager_result == input_value * 3
164168

examples/basic_usage.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def generate_config(environment, feature_flag):
5757
return {
5858
"env": environment["env"],
5959
"feature": feature_flag,
60-
"timeout": environment["timeout"] + 10
60+
"timeout": environment["timeout"] + 10,
6161
}
6262

6363

@@ -92,11 +92,7 @@ def app_config(database_config):
9292
@param_generator
9393
def generate_test_data(app_config, test_type):
9494
"""依赖于嵌套fixture的参数生成器"""
95-
return {
96-
"config": app_config,
97-
"type": test_type,
98-
"data": [1, 2, 3]
99-
}
95+
return {"config": app_config, "type": test_type, "data": [1, 2, 3]}
10096

10197

10298
@with_dynamic_params(test_data=generate_test_data)

setup.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,10 @@
66
packages=find_packages(where="src"), # 只查找src目录下的包
77
package_dir={"": "src"},
88
install_requires=["pytest"],
9-
entry_points={
10-
"pytest11": [
11-
"dynamic-params = dynamic_params.plugin"
12-
]
13-
},
9+
entry_points={"pytest11": ["dynamic-params = dynamic_params.plugin"]},
1410
classifiers=[
1511
"Framework :: Pytest",
1612
"Programming Language :: Python :: 3",
1713
"Operating System :: OS Independent",
1814
],
19-
)
15+
)

src/__init__.py

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,33 @@
55
allowing parameters to be computed based on other parameters or fixtures.
66
"""
77

8-
from .dynamic_params import *
8+
from .dynamic_params import (
9+
ParamGenerator,
10+
LazyResult,
11+
GeneratorRegistry,
12+
DynamicParamError,
13+
MissingParameterError,
14+
InvalidGeneratorError,
15+
param_generator,
16+
with_dynamic_params,
17+
pytest_configure,
18+
pytest_generate_tests,
19+
DynamicParamConfig,
20+
)
921

1022
__version__ = "0.1.0"
11-
__author__ = "pytest-dynamic-params"
23+
__author__ = "Your Name"
24+
1225
__all__ = [
13-
'ParamGenerator',
14-
'LazyResult',
15-
'GeneratorRegistry',
16-
'DynamicParamError',
17-
'MissingParameterError',
18-
'InvalidGeneratorError',
19-
'param_generator',
20-
'with_dynamic_params',
21-
'pytest_configure',
22-
'pytest_generate_tests',
23-
'DynamicParamConfig'
24-
]
26+
"ParamGenerator",
27+
"LazyResult",
28+
"GeneratorRegistry",
29+
"DynamicParamError",
30+
"MissingParameterError",
31+
"InvalidGeneratorError",
32+
"param_generator",
33+
"with_dynamic_params",
34+
"pytest_configure",
35+
"pytest_generate_tests",
36+
"DynamicParamConfig",
37+
]

src/dynamic_params/__init__.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,24 @@
22
from .core.generator import ParamGenerator
33
from .core.registry import GeneratorRegistry
44
from .decorators import param_generator, with_dynamic_params
5-
from .errors import DynamicParamError, InvalidGeneratorError, MissingParameterError
5+
from .errors import (
6+
DynamicParamError,
7+
InvalidGeneratorError,
8+
MissingParameterError
9+
)
610
from .lazy import LazyResult
711
from .plugin import pytest_configure, pytest_generate_tests
812

913
__all__ = [
10-
'ParamGenerator',
11-
'LazyResult',
12-
'GeneratorRegistry',
13-
'DynamicParamError',
14-
'MissingParameterError',
15-
'InvalidGeneratorError',
16-
'param_generator',
17-
'with_dynamic_params',
18-
'pytest_configure',
19-
'pytest_generate_tests',
20-
'DynamicParamConfig'
21-
]
14+
"ParamGenerator",
15+
"LazyResult",
16+
"GeneratorRegistry",
17+
"DynamicParamError",
18+
"MissingParameterError",
19+
"InvalidGeneratorError",
20+
"param_generator",
21+
"with_dynamic_params",
22+
"pytest_configure",
23+
"pytest_generate_tests",
24+
"DynamicParamConfig",
25+
]

0 commit comments

Comments
 (0)