创建测试集以测试相同接口的不同实现
项目描述
安装
$ pip install nose-test-sets
用法
要定义您的常用测试集,创建一个TestSetBuilder,并使用add_test添加测试。每个测试应接受相同的参数名。例如,您在模块adder_test_set中定义了一些加法器的测试
from nose_test_sets import TestSetBuilder
test_set_builder = TestSetBuilder()
test = test_set_builder.add_test
@test
def adding_zero_to_zero_returns_zero(adder):
assert adder.add(0, 0) == 0
@test
def adding_one_to_two_returns_three(adder):
assert adder.add(1, 2) == 3
create = test_set_builder.create
要针对特定实现运行测试,您可以使用我们上面定义的create函数创建一个测试集
import adder_test_set
def _run_test_with_standard_adder(test_func):
adder = StandardAdder()
return test_func(adder)
StandardAdderTests = adder_test_set.create(
"StandardAdderTests",
_run_test_with_standard_adder
)
create的第一个参数应该是具体测试集的名称。第二个参数是一个可以运行每个测试函数的函数。在上面的示例中,要运行StandardAdderTests中的测试,nose-test-sets最终会调用_run_test_with_standard_adder(adding_zero_to_zero_returns_zero)和_run_test_with_standard_adder(adding_one_to_two_returns_three)。