Python unittest - 可能会一直失败直到通过?

时间:2015-06-12 14:41:59

标签: python unit-testing python-unittest

假设有一个测试函数可以通过各种数字列表进行测试。这些数字按递增顺序列出,一旦你超过一定数量(通过循环完成),结果就可以接受,我可以通过测试。 (这意味着在传递的数字之前的所有数字都是失败的)。现在我找到了可接受的数字,无论列表中是否有更多数字,我都可以停止整个测试。因此,我基本上需要一种使用Python unittest“失败直到通过”的方法。有没有办法使用unittest的内置方法来做到这一点?我已经粘贴了一段代码片段,以便更好地传达我需要做的事情。

def test_numbers(self):
    passing_number = 10     # can be any number randomly chosen in  number_list
    number_list = [8,9,10,11,12]   # example list of numbers to test
    for(number in number_list):
        # Do some operations with number...

        # Pass criteria - Not sure what to do here
        if(number == passing_number):
            # Then accept 'number' and stop the entire test.

1 个答案:

答案 0 :(得分:1)

根据定义,单元测试是一段自动化的代码,它调用系统中的一个工作单元,然后检查有关该工作单元行为的单一假设。 是此处的关键。

如果测试对于给定输入应该失败,则代码单元通过测试。恕我直言,如果你想将测试应用于一系列输入并确保它至少通过其中一个输入,这个循环应放在代码单元而不是测试用例上。