Python单元测试在失败后继续

Python单元测试在失败后继续,python,unit-testing,nose,Python,Unit Testing,Nose,在测试失败后,继续测试的最佳方式是什么 看看测试2,它只会告诉我有1次失败,而不是2次 此外,我如何在最后收集结果,说明: test_0 -- 0 failures test_1 -- 1 failures test_2 -- 2 failures 动机: 我正在尝试创建一个测试游戏。人们提交测试,如果他们没有通过其他人的计划,他们会得到分数;每次测试失败一分。提供此类功能的最简单方法是什么?您必须将每个测试用例分成不同的方法。为了更容易创建新的测试/节省键入时间,您可以根据如下输入自动生成测

在测试失败后,继续测试的最佳方式是什么

看看测试2,它只会告诉我有1次失败,而不是2次

此外,我如何在最后收集结果,说明:

test_0 -- 0 failures
test_1 -- 1 failures
test_2 -- 2 failures
动机


我正在尝试创建一个测试游戏。人们提交测试,如果他们没有通过其他人的计划,他们会得到分数;每次测试失败一分。提供此类功能的最简单方法是什么?

您必须将每个测试用例分成不同的方法。为了更容易创建新的测试/节省键入时间,您可以根据如下输入自动生成测试用例

#!/usr/env/bin python2.7

import unittest
from fib import fib


class FibTests(unittest.TestCase):
    pass

def test_gen(expected, actual):
    def test_method(self):
        return self.assertEqual(expected, actual)
    return test_method

if __name__ == '__main__':
    cases = ((fib(1), 1), (fib(2), 1), (fib(5), 5))
    for index, case in enumerate(cases):
        test_name = 'test_{0}'.format(index)
        test = test_gen(case[1], case[0])
        setattr(FibTests, test_name, test)
    suite = unittest.TestLoader().loadTestsFromTestCase(FibTests)
    result = unittest.TextTestRunner(verbosity=2).run(suite)

您必须将每个测试用例分成不同的方法。为了更容易创建新的测试/节省键入时间,您可以根据如下输入自动生成测试用例

#!/usr/env/bin python2.7

import unittest
from fib import fib


class FibTests(unittest.TestCase):
    pass

def test_gen(expected, actual):
    def test_method(self):
        return self.assertEqual(expected, actual)
    return test_method

if __name__ == '__main__':
    cases = ((fib(1), 1), (fib(2), 1), (fib(5), 5))
    for index, case in enumerate(cases):
        test_name = 'test_{0}'.format(index)
        test = test_gen(case[1], case[0])
        setattr(FibTests, test_name, test)
    suite = unittest.TestLoader().loadTestsFromTestCase(FibTests)
    result = unittest.TextTestRunner(verbosity=2).run(suite)

您希望单独跟踪其失败的内容应该是单独的测试。每个断言都会引发失败。如果你想让每一个都成为他们自己的测试用例,你需要让他们成为他们自己的测试用例方法。你想单独跟踪失败的事情应该是单独的测试。每个断言都会引发失败。如果你想让每一个都成为自己的测试用例,你需要让它们成为自己的测试用例方法。你可以这样做,也可以只使用支持生成器测试函数的
nose
。你可以这样做,也可以只使用支持生成器测试函数的
nose