创建测试集以测试同一接口的不同实现

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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaPax考试:从非标准Maven存储库解析Karaf特性存储库(XML文件)   java Spring启动Bean创建异常   java中将ArrayList转换为数组的方法   Android Studio的java Unity插件。   java在CheckStyle中从方法计数中排除getter和setter   HibernateJava。sql。SQLSyntaxErrorException:表/视图“序列”不存在   与命令行程序Java vs C通信   java WebView膨胀异常   java在O(n)java8流中寻找两个列表的交集   java使用Gradle运行单元测试时,最大堆大小在哪里设置?   ssl加载java应用程序(CXF)内的jks文件   CI:Jenkins Git:Simple Java项目:希望在特定时间在脚本上发送消息   java根据位置更改数字   java按数值排序字符串数组   macos java版本“1.6.0_65”是否与java 6模棱两可?   Cassandra中的java时间戳