我正在使用django-1.6为一个网络应用程序工作,其中将有应用程序进入并经历各个阶段的审查。在满足标准时,他们会获得批准并晋升到下一阶段或被推迟。我正在测试审批过渡。如果可批准的应用程序的状态已更改为等待下一阶段,我需要断言。所以,这就是我现在这样做的方式:
self.assertEqual('stage2.pending', stage1_approved_mentor_applications[0].status)
我正在寻找的是像
self.assertEqual('stage2.pending', stage1_approved_mentor_applications.status)
这将确保列表stage1_approved_mentor_applications中的所有对象的状态为“stage2.pending”。一种方法是将它传递给一个获取列表的函数,并在所有状态为'stage2.pending'时返回True,否则返回False。该函数将在assertTrue中调用。想知道是否已经有一个解决方法,这将使我免于重新发明轮子。
任何人都可以帮助我吗?提前谢谢。
答案 0 :(得分:4)
怎么样:
for s in stage1_approved_mentor_applications:
self.assertEqual('stage2.pending', s.status)
让您知道哪种状态不同
答案 1 :(得分:2)
这个怎么样?
self.assertFalse(
any(obj.status != 'stage2.pending' for obj in stage1_approved_mentor_applications)
)
答案 2 :(得分:0)
self.assertTrue(
all([x is 'stage2.pending' for x in stage1_approved_mentor_applications]
))