Python unittest AssertionError为什么?

2024-10-02 12:25:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个由教授编写的单元测试代码,用来检查我的任务。通过命令行.exe我启动测试python Task303Test.py,它包含如下代码:

"""
NAME: divisable_by_four
PARAMS: string
RETURN: bool
POINTS: 2
"""

import unittest
from Task303 import divisable_by_four

class Task303Test(unittest.TestCase):
    """Testy do zadania 303"""

    def test_simple(self):
        """Prosty test."""
        self.assertTrue(divisable_by_four("32"))
        self.assertFalse(divisable_by_four("33"))
        self.assertFalse(divisable_by_four("-32"))
        self.assertTrue(divisable_by_four("0"))

        for num in range(45000, 47000):
            if num % 4 == 0:
                self.assertTrue(divisable_by_four(str(num)), str(num))
            else:
                self.assertFalse(divisable_by_four(str(num)), str(num))

if __name__ == '__main__':
    unittest.main()

我有我的divisable_by_four function

^{pr2}$

但我在测试时出错了:

self.assertTrue(divisable_by_four(str(num)), str(num))
AssertionError: 45000

这对我来说很奇怪,因为我认为我已经做了我应该做的一切。有人能告诉我怎么了吗?也许测试本身是错的?在


Tags: 代码testimportselfbyifmainunittest

热门问题