【发布时间】:2011-02-13 21:11:17
【问题描述】:
我正在为一个 Django 项目编写一些单元测试,我想知道是否可以(或有必要?)测试我为它编写的一些装饰器。
这是我编写的装饰器示例:
class login_required(object):
def __init__(self, f):
self.f = f
def __call__(self, *args):
request = args[0]
if request.user and request.user.is_authenticated():
return self.f(*args)
return redirect('/login')
【问题讨论】:
-
我认为这是一个很好的问题,但你为什么要重写这个装饰器呢? docs.djangoproject.com/en/1.1/topics/auth/…
-
您没有使用 django.contrib.auth.decorators.login_required 的任何特殊原因?
-
虽然装饰器只是一段代码,但它们应该像任何其他代码一样进行测试。
-
对@Mark Lavin 的简短回答是,我们正在推出我们自己的身份验证系统,并且我们正在模仿 django.conrtib.auth 中的装饰器来让我们的生活更轻松
标签: python django unit-testing decorator python-unittest