【发布时间】:2025-12-05 05:55:01
【问题描述】:
我正在使用 Django 3.2
我编写了一个引发自定义事件的应用,并且正在为这些应用编写测试。
这是我的代码的相关部分:
class TestAppModel(TestCase):
# .. set up instance variables etc.
def test_liked_signal_emits_correct_data(self):
self.signal_was_called = False
self.sender = None
self.instance = None
self.event_type = None
self.actor = None
def handler(sender, instance, event_type, actor, **kwargs):
self.signal_was_called = True
self.sender = sender
self.instance = instance
self.event_type = event_type
self.actor = actor
item_liked.connect(handler)
self.daddy.like(self.admin_user)
# Check that the sender is a Foo
self.assertIsInstance(self.sender, Foo) # <- Nonsensical error emitted here
当我运行测试时,我收到错误消息:
AssertionError:
的实例不是
这显然是一条无意义的错误消息,无法帮助我解决问题。
我的问题是为什么我无法使用assertIsInstance 检查实例类型,以及如何检查信号接收器中的类类型?
【问题讨论】:
标签: python django python-unittest django-testing django-signals