使用正则表达式选择pytest测试
项目描述
pytest-regex
使用Python标准库正则表达式指定要运行的测试
在本地安装后(例如,使用 python -m pip install .),您可以将其与更传统的测试选择技术进行比较,如下所示。
考虑与SciPy开发合作。让我们先选择所有节点ID中包含test_3d的所有测试,使用传统的/内置的-k标志
python dev.py test – -v -k “test_3d”
这将运行您期望的具有字符串匹配的一组测试
scipy/io/tests/test_idl.py::TestArrayDimensions::test_3d 通过 scipy/io/tests/test_idl.py::TestPointerArray::test_3d 通过 scipy/optimize/_trustregion_constr/tests/test_qp_subproblem.py::TestBoxBoundariesIntersections::test_3d_box_constraints 通过 scipy/optimize/_trustregion_constr/tests/test_qp_subproblem.py::TestBoxBoundariesIntersections::test_3d_box_constraints_entire_line 通过 scipy/optimize/_trustregion_constr/tests/test_qp_subproblem.py::TestModifiedDogleg::test_3d_example 通过 scipy/stats/tests/test_stats.py::TestGeometricStandardDeviation::test_3d_array 通过 scipy/stats/tests/test_stats.py::TestGeometricStandardDeviation::test_3d_array_axis_type_tuple 通过 scipy/stats/tests/test_stats.py::TestGeometricStandardDeviation::test_3d_array_axis_0 通过 scipy/stats/tests/test_stats.py::TestGeometricStandardDeviation::test_3d_array_axis_1 通过 scipy/stats/tests/test_stats.py::TestGeometricStandardDeviation::test_3d_array_axis_2 通过 scipy/stats/tests/test_stats.py::TestFOneWay::test_3d_inputs 通过
如果您只想运行与test_3d或test_3d_example完全匹配的测试怎么办?
- 尝试使用pytest-regex:
python dev.py 测试 -v -regex “(.*test_3d$|.*test_3d_example$)”
scipy/io/tests/test_idl.py::TestArrayDimensions::test_3d 通过 scipy/io/tests/test_idl.py::TestPointerArray::test_3d 通过 scipy/optimize/_trustregion_constr/tests/test_qp_subproblem.py::TestModifiedDogleg::test_3d_example 通过
这完成了我们想要的功能,并且可能比 -k 选项更简洁。事实上,我不太确定如何用当前形式的 -k 来实现这一点。
工作原理
pytest-regex 简单地将 Python 正则表达式传递到节点 ID 列表中,其中节点 ID 的结构如下
path/to/test_module.py::TestClass::test_name[参数值]
如果正则表达式与节点 ID 匹配,则保留并执行测试。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码分发
构建分发
pytest-regex-0.2.0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f4076c49abece2503815c8b2e282a8fd22d330f06f9bf91d620b3ef02de7a353 |
|
MD5 | 5e4b47089e96f277edbef1e81aa6db2c |
|
BLAKE2b-256 | 7367e3f3700e8f95fc9e80ab83d589346c117de4e6d01e6b922f7300282e7fc9 |
pytest_regex-0.2.0-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c97e9c49e8c7e7482bd1fa701e3a5cccd18eb78d263752e32dba4937d8cee6d9 |
|
MD5 | b25ee012dcdc4e86a05173f9980affec |
|
BLAKE2b-256 | 2a72d4143c66c1806599358c119c0af530bab92ef0c48129f17522dfd5a7ff6a |