gpt4 book ai didi

python 单元测试来测试循环而不是中断

转载 作者:太空宇宙 更新时间:2023-11-03 17:05:55 26 4
gpt4 key购买 nike

def test2_1_wiered_chars(self):
for char in l_wchar:
self.assertFalse(is_number(char), msg='failed for char {}'.format(char) )

我将一个列表传递给函数 is_number 以检查它是否不是数字。该列表包含字母和数字的组合。当达到预期的第一个数字时,测试失败。但它跳出了循环,并且没有显示它与列表的其余索引的行为方式。在一个测试用例中测试列表中所有值的正确方法是什么?

最佳答案

您不应将所有测试数据包含在一个测试用例中。测试数据应该位于测试用例的外部。这应该适合您的目的:

class CharTests(unittest.TestCase):
pass

def test_gen(char):
def test_method(self):
return self.assertTrue(char.isdigit())
return test_method

if __name__ == '__main__':

for index, char in enumerate(l_wchar):
test_name = 'test_{0}'.format(index)
test = test_gen(char)
setattr(CharTests, test_name, test)

suite = unittest.TestLoader().loadTestsFromTestCase(CharTests)
result = unittest.TextTestRunner(verbosity=2).run(suite)

对于字符串中的每个字符,都会将一个测试用例方法附加到 CharTests 类中,然后执行该套件。这将为您提供哪些测试用例失败的详细信息

关于python 单元测试来测试循环而不是中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34604344/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com