我想编写一个测试,从保存的对象recipient.expiry_date
中抽出一段时间,检查日期是否为30天。
这就是我的尝试:
days_to_match = timezone.now() + timedelta(days=30)
self.assertEqual(recipient.expiry_date, days_to_match)
因为它还包含不匹配的时间。
如何做到这一点?
请注意recipient.expiry_date
使用timezone.now()
在我的模型中设置,因此对python日期的比较似乎有误。
答案 0 :(得分:3)
正如您在this SO answer中所看到的,您可以使用date()
仅比较日期而不是时间。或者您可以将时间数据设为=。
self.assertEqual(recipient.expiry_date.date(), days_to_match.date())
答案 1 :(得分:1)
您可以查看日期部分:
self.assertEqual(recipient.expiry_date.year, days_to_match.year)
self.assertEqual(recipient.expiry_date.month, days_to_match.month)
self.assertEqual(recipient.expiry_date.day, days_to_match.day)