单元测试框架 - Unittest2


unittest2 是 Python 2.7 及更高版本中添加到 Python 测试框架的附加功能的向后移植。它经过测试可在 Python 2.6、2.7 和 3.* 上运行。最新版本可以从https://pypi.python.org/pypi/unittest2下载

要使用unittest2而不是unittest,只需将importunittest替换为importunittest2即可。

unittest2 中的类派生自unittest 中的相应类,因此应该可以使用unittest2 测试运行基础结构,而不必立即将所有测试切换为使用unittest2。如果您打算实现新功能,请从unittest2.TestCase而不是unittest.TestCase继承您的测试用例

以下是unittest2的新功能 -

  • addCleanups以实现更好的资源管理

  • 包含许多新的断言方法

  • assertRaises作为上下文管理器,随后可以访问异常

  • 具有模块级固定装置,例如setUpModuletearDownModule

  • 包括用于从模块或包加载测试的load_tests协议

  • TestResult 上的startTestRunstopTestRun方法

在 Python 2.7 中,您可以使用python -m unittest <args>调用 unittest 命令行功能(包括测试发现)。

相反,unittest2 带有一个脚本unit2。

unit2 discover
unit2 -v test_module