Python是否提供了使用多个测试输入运行相同单元测试的方法?

Python是否提供了使用多个测试输入运行相同单元测试的方法?,python,unit-testing,Python,Unit Testing,对于C#和NUnit,存在和,两者都允许单元测试参数化,因此相同的“测试”可以在不同的输入下多次使用。这在保持可读性的同时减少了代码重复 Python是否存在类似的功能 编辑: @上面提到了沙丘,我应该把它作为这个问题的一部分。不幸的是,它只是一个3.4版本的功能,我希望支持2.7和3.4版本。答案是。但是,这仅在Python3.4中可用 不过,有。它提供了Python 3.4中unittest的最新特性(包括子测试)的后端口unittest2经过测试,可以在Python2.6、2.7、3.2、

对于C#和NUnit,存在和,两者都允许单元测试参数化,因此相同的“测试”可以在不同的输入下多次使用。这在保持可读性的同时减少了代码重复

Python是否存在类似的功能

编辑: @上面提到了沙丘,我应该把它作为这个问题的一部分。不幸的是,它只是一个3.4版本的功能,我希望支持2.7和3.4版本。

答案是。但是,这仅在Python3.4中可用


不过,有。它提供了Python 3.4中unittest的最新特性(包括
子测试
)的后端口
unittest2
经过测试,可以在Python2.6、2.7、3.2、3.3、3.4和pypy上运行。

几个库允许您这样做。例如,py.test示例如下所示:

import pytest
@pytest.mark.parametrize("test_input,expected", [
    ("3+5", 8),
    ("2+4", 6),
    ("6*9", 42),
])

def test_eval(test_input, expected):
    assert eval(test_input) == expected

这是来自的。

您是否正在运行python 3.4?如果是的话,很抱歉我忘了。很遗憾,我正在尝试兼容3.4和2.7,但我会更新我的问题。