【发布时间】:2011-06-15 16:37:22
【问题描述】:
Python 的内置 unittest 模块使用 TestCase.assert* 方法进行断言:
class FooTest(TestCase):
def test_foo(self):
self.assertEqual(1,1)
self.assertNotEqual(1,2)
self.assertTrue(True)
我通常使用 nose 或 py.test 等测试运行程序,它们允许在进行断言时使用内置的 assert 关键字:
assert 1 == 1
assert 1 != 2
assert True
unittest 的TestCase.assert* 方法的动机是什么?这与使用内置 assert 关键字断言的优缺点是什么?是否有理由支持 unittest 的语法?
【问题讨论】:
-
这是测试框架中的一个常见习语,与语言无关。尽管如此,这是一个很好的问题。
标签: python unit-testing