这使得使用测试客户端的 Django 测试运行得更快,其中登录安全性不是测试的重要部分
from django.test import TestCase, Client, override_settings
@override_settings(
PASSWORD_HASHERS = [ "django.contrib.auth.hashers.MD5PasswordHasher" ])
class Test2(TestCase):
...
有没有办法创建我自己的带有内置装饰器的 TestCase 子类,这样我就可以像这样编码? (当我发现我的新测试运行缓慢时,我一直不得不查找该设置来覆盖!)
from myproject.utils import FastLoginTestCase
class Test2( FastLoginTestCase):
...
__init_subclass__
方法中将装饰器应用到子类:
class FastLoginTestCase(TestCase):
def __init_subclass__(cls):
cls = override_settings(
PASSWORD_HASHERS = ["django.contrib.auth.hashers.MD5PasswordHasher"]
)(cls)