django模型单元测试

时间:2011-03-28 22:39:56

标签: unit-testing django-models

我正在对模型进行单元测试。

此测试运行正常

def test_event_creation(self):
    new_user = User.objects.create_user(**self.user_info)
    new_event = Event.objects.create(name="Event test", user=new_user,
        start_date=datetime.date(2011,07,03), end_date=datetime.date(2011,07,10),
        start_time=datetime.time(8,30), end_time=datetime.time(18,00))

    self.assertEqual(Event.objects.count(), 1)

问题是我也需要测试模型错误,例如名称无效。 在这种情况下,测试的执行显示错误(我正在尝试测试的错误)

如何在断言中比较错误并确定是否是错误?成为。

(也许我必须使用:assertRaisesRegexp)

1 个答案:

答案 0 :(得分:2)

self.assertRaises(exception, function, parameters)

exception:TypeError,ValueError,http://www.python.org/doc/essays/stdexceptions.html function:Event.objects.create 参数:user = new_user,start_date = datetime.date(2011,07,03)等...

示例:

def test_event_creation(self):
    new_user = User.objects.create_user(**self.user_info)
    self.assertRaises(TypeError, Event.objects.create,name="Event test", user=new_user,
        start_date=datetime.date(2011,07,03), end_date=datetime.date(2011,07,10),
        start_time=datetime.time(8,30), end_time=datetime.time(18,00))