创建测试集以测试相同接口的不同实现
项目描述
安装
$ 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)。