Python unittest - 可以一直失败直到通过吗?
Python unittest - possible to keep failing until pass?
假设有一个测试函数会遍历一系列要测试的各种数字。这些数字按递增顺序列出,这样一旦你超过某个数字(通过循环完成),结果就可以接受,我就可以通过测试。 (这意味着传递数字之前的所有数字都是失败的)。现在我已经找到了可接受的数字,我可以停止整个测试,而不管列表中是否还有更多数字。因此,我基本上需要一种使用 Python unittest 来 "fail until pass" 的方法。有没有办法使用 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.
好吧,根据定义,单元测试是一段自动化的代码,它调用系统中的一个工作单元,然后检查关于该工作单元行为的单个假设。 单身是这里的关键
如果给定输入的测试应该失败,则代码单元通过了测试。恕我直言,如果您想将测试应用于一系列输入并确保它至少通过其中一个输入,则此循环应放置在代码单元中,而不是测试用例中。
假设有一个测试函数会遍历一系列要测试的各种数字。这些数字按递增顺序列出,这样一旦你超过某个数字(通过循环完成),结果就可以接受,我就可以通过测试。 (这意味着传递数字之前的所有数字都是失败的)。现在我已经找到了可接受的数字,我可以停止整个测试,而不管列表中是否还有更多数字。因此,我基本上需要一种使用 Python unittest 来 "fail until pass" 的方法。有没有办法使用 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.
好吧,根据定义,单元测试是一段自动化的代码,它调用系统中的一个工作单元,然后检查关于该工作单元行为的单个假设。 单身是这里的关键
如果给定输入的测试应该失败,则代码单元通过了测试。恕我直言,如果您想将测试应用于一系列输入并确保它至少通过其中一个输入,则此循环应放置在代码单元中,而不是测试用例中。