创建测试集以测试同一接口的不同实现
nose-test-sets的Python项目详细描述
安装
$ 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测试集最终调用 _run_test_with_standard_adder(adding_zero_to_zero_returns_zero)和 _run_test_with_standard_adder(adding_one_to_two_returns_three)。