-2

我是新 Django,也是现代网络开发。我怀疑应用程序的测试。混乱可能是因为我的python知识较少。我是一名 Java 程序员,所以我对下面的代码有疑问。这是我的代码:

def test_was_published_recently_with_old_poll(self):
    """
    was_published_recently() should return False for polls whose pub_date
    is older than 1 day
    """
    old_poll = Poll(pub_date=timezone.now() - datetime.timedelta(days=30))
    self.assertEqual(old_poll.was_published_recently(), False)

这是我在我的应用程序的 test.py 中的代码。实际发生了什么Poll(pub_date=timezone.now() - datetime.timedelta(days=30))...我的问题是(民意调查是在models.py 中定义的一个类)这里实际发生了什么?谁能详细解释一下?

提前致谢。

4

3 回答 3

1

既然你说你的经验是在 Java 中,我不知道你为什么在这里遇到问题。这种语法与Java 几乎完全相同:创建一个Poll实例,其pub_date字段设置为某个值,即30 天前的日期。

于 2013-07-05T09:31:21.273 回答
0

在 '$' Poll(pub_date=timezone.now() - datetime.timedelta(days=30)) 中,您创建一个类,其中 pub_date 字段设置为 timezone.now() - datetime.timedelta(days=30)。

例如,现在是 2012-07-31 11:19:42.897000+00:00。Poll 构造函数将创建 pub_date 设置为 2012-07-01 11:19:42.897000+00:00 的类

于 2013-07-05T09:22:53.750 回答
0

这是一个单元测试,可确保对象的was_published_recently方法Poll按预期工作。它创建了一个 的实例Poll,将它传递给datetime过去 30 天……因为这不是“最近”,调用该was_published_recently方法预计会返回 False。然后,您将self.assertEqual()用于测试预期的行为。

于 2013-07-05T09:33:11.377 回答