我有一个简单的测试,如下所示:
class TestAPIWrapper(unittest.TestCase):
def test_one(self):
assert 1==1, "Failed 1"
assert 2==1, "Failed 2"
assert 2==2, "Failed 3"
我执行此测试的方式如下:
python -m unittest my_test_file
我得到的是,由于第二个断言失败,测试停止,我需要的是运行测试直到结束并在出现时出现断言错误。
这背后的想法是我将使用crontab在我的服务器上每6小时运行一次此测试,我打算发送一封电子邮件,其中包含测试发现的所有错误案例。
干杯!
答案 0 :(得分:2)
好吧,你不能不止一次失败。 “断言”的想法是,如果失败,它会中止该功能。你必须将上面的三个断言分成三个独立的test()方法(例如test_one(),test_two()等),如果你想要全部击中它们。此外,您应该使用self.assertEqual()而不是plain assert。
答案 1 :(得分:0)
使用单个断言将测试分成多个函数的(可能是首选的)方法的替代方法如下:
def test_one(self):
failed = []
if 1 != 1:
failed.append("Failed 1")
if 2 != 2:
failed.append("Failed 2")
# ...
assert not failed, failed