Python的unittest模块的参数化测试
项目描述
Python的unittest模块的参数化测试
这受到了py.test中的参数化测试功能的启发。我曾使用py.test进行这一特定测试,但我的同事对使用py.test有所保留,我真正需要的是参数化测试,所以我通过一些元类黑客技巧迅速完成了这个。
示例用法
from parameterizedtestcase import ParameterizedTestCase
class MyTests(ParameterizedTestCase):
@ParameterizedTestCase.parameterize(
("input", "expected_output"),
[
("2+4", 6),
("3+5", 8),
("6*9", 54),
]
)
def test_eval(self, input, expected_output):
self.assertEqual(eval(input), expected_output)
运行此代码的结果
~/dev/git-repos/python_unittest_parameterized_test_case$ python -m unittest -v tests test_eval_input_2+4_expected_output_6 (tests.MyTests) ... ok test_eval_input_3+5_expected_output_8 (tests.MyTests) ... ok test_eval_input_6*9_expected_output_54 (tests.MyTests) ... ok ---------------------------------------------------------------------- Ran 3 tests in 0.001s OK
支持的Python版本
Python 2.5
Python 2.6
Python 2.7
Python 3.1
Python 3.2
Python 3.3
PyPy 1.9
Jython 2.5
或者tox
~/dev/git-repos/python_unittest_parameterized_test_case$ tox ... py25: commands succeeded py26: commands succeeded py27: commands succeeded py31: commands succeeded py32: commands succeeded py33: commands succeeded jython: commands succeeded pypy: commands succeeded congratulations :)
您还可以检查最新的Travis CI结果,但Travis不构建上述所有平台。
问题
将您的错误报告和功能请求发送到https://github.com/msabramo/python_unittest_parameterized_test_case/issues
项目详情
关闭
parameterizedtestcase-0.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4ccc1d15d7e7ef153619a6a9cd45b170268cf82c67fdd336794c75139aae127e |
|
MD5 | 9c627d9e85e1632e74bbe67ed8057416 |
|
BLAKE2b-256 | 99144b82711b0c6a377c1e63f44641d3f4c63ec1f3acc6cc5e2d37109fd711ca |