考虑以下代码片段:
import pytest
@pytest.mark.parametrize("a, b", [
(1, 1),
(2, 2),
(2, 3)
])
def test_eq(a, b):
assert a == b
现在这将创建三个(简单的)测试。现在在调试过程中我注意到第三个测试失败了。我如何告诉 pycharm 重新运行第三个测试配置(在 Debug模式下)?在 ide 中右键单击此测试运行只会显示一个上下文菜单,用于重新运行整个 test_eq
测试集。
最佳答案
我很确定你不能这样做。仅当装饰器运行时才会创建不同的测试,并且在执行定义这些测试的模块时会发生这种情况。换句话说:当您运行测试时。
只要您在 PyCharm(或任何其他编辑器)中查看代码,这种情况就还没有发生。 PyCharm 不(不能)知道这一测试函数实际上会产生三个不同的测试用例。
如果您确实需要仅使用选定的参数值来运行测试,并且您有可用的源代码,那么最简单的方法可能就是注释掉您不想使用的参数值。喜欢:
@pytest.mark.parametrize("a, b", [
# (1, 1),
# (2, 2),
(2, 3)
])
def test_eq(a, b):
assert a == b
稍后,当您解决问题后,您可以再次取消注释这些行。
关于python - 通过pycharm IDE运行py.test中的特定测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44261164/