【发布时间】:2013-01-17 04:39:05
【问题描述】:
在unittest 失败后继续测试的最佳方法是什么?
#!/usr/env/bin python2.7
import unittest
from fib import fib
class FibTests(unittest.TestCase):
def test_0(self):
self.assertEqual(fib(0), 0)
self.assertEqual(fib(1), 1)
self.assertEqual(fib(2), 1)
self.assertEqual(fib(5), 5)
self.assertEqual(fib(10), 55)
def test_1(self):
self.assertEqual(fib(0), 1)
def test_2(self):
self.assertEqual(fib(1), 0)
self.assertEqual(fib(5), 0)
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(FibTests)
result = unittest.TextTestRunner(verbosity=2).run(suite)
查看 test_2,它只会告诉我有 1 个失败而不是 2 个。
另外,我怎样才能在结尾处收集结果:
test_0 -- 0 failures
test_1 -- 1 failures
test_2 -- 2 failures
动机:
我正在尝试创建一个测试游戏。人们提交测试,如果他们未能通过其他人的程序,他们就会获得积分;每个测试失败都是一分。提供此类功能的最简单方法是什么?
【问题讨论】:
-
您要单独跟踪其故障的事情应该是单独的测试。
-
每个断言都会引发失败。如果您希望每个都成为自己的测试用例,则需要使它们成为自己的测试用例方法。
标签: python unit-testing nose