Django测试对象不是callab

2024-04-29 02:41:25 发布

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

我正在尝试在下面创建一个测试,收到以下消息:

类型错误:'日期时间。日期时间'对象不可调用

在线:自存有效期(昨天)

测试

 def test_stock_passed_expiration(self):
        """
        'True' returned when stock is passed it's expiration date.
        """
        yesterday = date.today()-timedelta(days=1)
        self.stock.expiry_date(yesterday)
        self.assertEqual(self.stock.has_expried(), True)

型号:

^{pr2}$

Tags: 对象testselftrue消息类型datedef
3条回答

你有

self.stock.expiry_date(yesterday)

但意味着

^{pr2}$

您尝试将self.stock.expiry_date(一个datetime对象)视为一个函数,从而导致错误消息。在

在您的测试函数中,您正在调用expiry\u date,就好像它是一个函数一样。相反,设置自到期日属性与昨天一样,保存模型,您的测试应该可以工作。在

def test_stock_passed_expiration(self):
    """
    'True' returned when stock is passed it's expiration date.
    """
    yesterday = date.today()-timedelta(days=1)
    self.stock.expiry_date = yesterday
    self.stock.save()
    self.assertEqual(self.stock.has_expried(), True)

使用

self.stock.expiry_date = yesterday
self.stock.save()

或者

^{pr2}$

我会帮你的

相关问题 更多 >