【问题标题】:Checking the existence of a permission object in Django unit test在 Django 单元测试中检查权限对象的存在
【发布时间】:2017-11-23 05:21:30
【问题描述】:

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

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.

如何测试此权限不存在?

【问题讨论】:

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


    【解决方案1】:

    我想通了:

    我应该将 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())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-07
      • 2016-02-28
      • 2011-10-13
      • 1970-01-01
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多