检查Django单元测试

时间:2017-11-23 05:21:31

标签: django unit-testing django-testing django-permissions

假设我想编写测试以确保不存在权限。我希望以下测试通过(而不是它给出错误):

from django.test import TestCase
from django.contrib.auth.models import Permission

class TestPermission(TestCase):
  def test_existence_of_permission(self):
    self.assertIsNone(Permission.objects.get(codename='a_non_existant_permission'))

这给了我以下错误:

django.contrib.auth.models.DoesNotExist: Permission matching query does not exist.

如何测试此权限是否不存在?

1 个答案:

答案 0 :(得分:1)

我想出来了:

我应该将treatead Permission作为常规Django模型。

from django.test import TestCase
from django.contrib.auth.models import Permission

class TestPermission(TestCase):
  def test_existence_of_permission(self):
    self.assertFalse(Permission.objects.filter(
      codename='a_non_existant_permission').exists())