天天看点

Testify Pythoinc的单元测试框架

Testify Pythoinc的单元测试框架

特性

  • 类级别的配置,同一类的测试方法仅需运行一次配置。
  • 基于装饰器的fixture方法,提供惰性求值属性和上下文管理。
  • 类似nose,可以深入包寻找测试用例。
  • 可以以模块、类为单位运行测试,或者运行单个测试方法。
  • 支持多线程测试。
  • 彩色输出。
  • 可扩展的插件系统。
  • 方便的测试工具,包括turtle(用于mocking)、测试覆盖、性能分析,等等。
  • 更为Pythonic的命名约定。

例子

from testify import *

class AdditionTestCase(TestCase):

   @class_setup

    def init_the_variable(self):

        self.variable = 0

   @setup

    def increment_the_variable(self):

        self.variable += 1

    def test_the_variable(self):

        assert_equal(self.variable, 1)

   @suite('disabled', reason='ticket #123, not equal to 2 places')

    def test_broken(self):

        # raises 'AssertionError: 1 !~= 1.01'

        assert_almost_equal(1, 1.01, threshold=2)

   @teardown

    def decrement_the_variable(self):

        self.variable -= 1

   @class_teardown

    def get_rid_of_the_variable(self):

        self.variable = None

if __name__ == "__main__":

    run()

兼容Unittest

Testify可以直接运行

unittests

,不需改动任何代码:

testify my_unittests/foo_test.py

如果要使用Testify的高级特性,只需将

unittest.TestCase

改为

testify.TestCase