我正在为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')
Django的UnitTest示例
一般来说,我使用的方法如下:
简单地说:
mock库在这里有帮助。
像这样的装饰器可能只需要通过duck输入就可以进行测试。只需为call函数提供一个模拟对象,该对象看起来像一个请求,并作为一个请求执行,然后查看是否获得了预期的行为。
当有必要使用单元测试时,我会说它是非常独立的。你给出的例子包含了这样的基本代码,人们可能会说这是不必要的。但是,同样,测试这样一个类的成本也很低。
相关问题 更多 >
编程相关推荐