使用 assertRaises 单元测试进行日期比较

Using assertRaises unit test for date comparison

我试图在 Python 中使用 assertRaises(ValueError) 到 return 当我的代码开始日期晚于结束日期时出现错误。

class TestDateUtils(unittest.TestCase):
def test_date_range(self):
     start_date = datetime.date(2020, 1, 1)
     end_date = datetime.date(2020, 1, 1)
     expected = start_date < end_date
     actual = start_date > end_date

    with self.assertRaises(ValueError):
        if actual:
            raise ValueError
        else:
            expected
            print("all fine")

我是 Python 的新手(这可能远不是正确的写法)。 有谁知道尝试产生此最终结果的正确语法吗?如果我的开始日期晚于结束日期,我只想提出一个值错误。

assertRaises的目的是测试被测代码在特定情况下是否引发异常;它不是为了引发值错误。

如果你想在测试用例中断言一个值小于另一个,你可以使用assertLess or assertLessEqual.

例如

self.assertLess(end_date, start_date)