支持参数化测试的鼻扩张
nose_ittr的Python项目详细描述
用于支持参数化测试的前端延伸。
允许开发人员使用不同的值反复运行相同的测试
- 主要功能:
- 节省了大量样板代码和代码复制
- 使用所有nose插件(包括多处理)
- 通过使用此软件包内置的nose plugin setup ittr,为每个测试自定义设置
非常容易与现有的测试合并
安装:
pip install nose_ittr
基本用法:
importmathfromnose.toolsimportassert_equal,assert_not_equalfromnose_ittrimportIttrMultiplier,ittrclassTestFoo(object):__metaclass__=IttrMultiplierdefsetup(self):ifhasattr(self,'value'):self.value+=3defteardown(self):pass@ittr(number=[1,2,3,4])deftest_even(self):assert_equal(self.number%2,0)@ittr(numerator=[15,6],denominator=[2,3])deftest_no_remainder(self):assert_equal(self.numerator%self.denominator,0)@ittr(value=[4,14])deftest_prime_with_custom_setup(self):foriinrange(3,int(math.sqrt(self.value))):assert_not_equal(self.value%i,0)
nosetests --with-setup-ittr [for setup customization support]
结果:
TestFoo.test_even_1 ... FAIL TestFoo.test_even_2 ... .ok TestFoo.test_even_3 ... FAIL TestFoo.test_even_4 ... .ok TestFoo.test_no_remainder_2_6 ... .ok TestFoo.test_no_remainder_2_15 ... FAIL TestFoo.test_no_remainder_3_6 ... .ok TestFoo.test_no_remainder_3_15 ... .ok TestFoo.test_prime_with_custom_setup_14 ... ok TestFoo.test_prime_with_custom_setup_4 ... ok
- 注释:
- 如果与-v参数一起使用,则不影响测试docstring。
要根据通过测试的变量更改docstring打印输出,请使用插件 nose-docstring-modifier。
Authors: | Sergey Ragatsky |
---|---|
Contributors: | Niv Mizrahi Tal Ben Basat Nicole Franco Roy Klinger Maroun Maroun |
0.0.1(2014-11-26)
- 初始版本
0.0.2(2014-11-27)
- 在包中添加了nose插件 支持每个测试的设置自定义
0.0.3(2014-11-27)
- nose插件的错误处理
- 排错
- 支持使用new.classob
0.0.4(2014-12-02)
- 新特性,允许用'uuitr'hook修饰所有类方法