Nose Testing - 工具

nose.tools模块提供了许多你可能会觉得有用的测试工具,包括用于限制测试执行时间和测试异常的装饰器,以及在unittest.TestCase中找到的所有相同的assertX方法.

  • nose.tools.ok_(expr,msg = None) : 断言的简写.

  • nose.tools.eq_(a,b,msg = None) :  'assert a == b, "%r != %r" % (a, b)

  • nose.tools.make_decorator( func) : 包装测试装饰器,以便正确复制装饰功能的元数据,包括鼻子的附加内容(即设置和拆卸).

  • 鼻子. tools.raises(*exceptions) : 测试必须提出一个预期的例外情况.

  • nose.tools.timed(limit) : 测试必须在规定的时限内完成才能通过

  • nose.tools.istest(func) : 装饰器将功能或方法标记为测试

  • nose.tools.nottest(func) : 装饰器将函数或方法标记为非测试

参数化测试

Python的测试框架,unittest,没有简单的方法来运行参数化测试用例.换句话说,你不能轻易地从外部将参数传递给 unittest.TestCase .

然而,pytest模块端口以几种良好集成的方式测试参数化 :

  • pytest.fixture()允许您在夹具层面定义参数化函数.

  • @ pytest.mark.parametrize 允许在函数或类级别定义参数化.它为特定的测试函数或类提供了多个参数/fixture集.

  • pytest_generate_tests 可以实现自己的自定义动态参数化方案或扩展.

第三方模块'nose-parameterized'允许使用任何Python测试框架进行参数化测试.它可以从这个链接下载 :   https://github.com/wolever/nose-parameterized