使用外壳,我可以这样做:
>>> from django.test.client import Client
>>> from django.test.utils import setup_test_environment
>>> setup_test_environment()
>>> c = Client()
>>> c.login(username="dev", password="password")
True
>>> r = c.get('/')
>>> r.status_code
200
现在在 test.py 文件中:
from django.test.client import Client
__test__ = {"doctest": """
>>> c = Client()
>>> c.login(username='dev', password='password')
True
>>> r = c.get('/')
>>> r.status_code
200
"""}
我得到这个输出:
Failed example:
c.login(username="dev", password="password")
Expected:
True
Got:
False
------------------------------------------------------
Failed example:
r.status_code
Expected:
200
Got:
302
我在整个互联网上都看过,但找不到任何有助于解决这种情况的东西。有任何想法吗?
在类似的注释中,我已经注释掉了:from django.views.decorators.debug import sensitive_post_parameters并且我的代码中的所有@sensitive_post_parameters()装饰器,因为每次我运行./manage.py test appdjango 都会抱怨:
Could not import app.views. Error was: No module named debug
删除这个装饰器和导入语句允许它继续前进。
我非常迷茫,我需要 StackOverflow!感谢大家。