我正在尝试测试我的应用程序,但不确定如何在测试环境中配置 django-allauth。我得到:
配置不当:未配置 Facebook 应用:请使用 Django 管理添加一个 SocialApp
到目前为止,我的方法是使用实际的 Facebook 应用程序参数在 tests.py
中实例化应用程序对象,一个在浏览器本地正常运行的应用程序:
from allauth.socialaccount.models import SocialApp
apper = SocialApp.objects.create(provider=u'facebook',
name=u'fb1', client_id=u'7874132722290502',
secret=u'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
apper.sites.create(domain='localhost:8000', name='creyu.org')
如何运行这些测试?谢谢
最佳答案
在 tests.py
中的什么地方实例化这个应用程序对象?如果它在 setUpModule()
方法内,应该没有问题。
就我个人而言,我会用相关信息创建一个夹具 init_facebook_app.json
,然后在 tests.py
中(在测试用例之前)定义:
from django.core.management import call_command
def setUpModule():
call_command('loaddata', 'init_facebook_app.json', verbosity=0)
这确保了夹具中的数据在测试运行之前加载,并且它们只加载一次,即不是在每次测试之前。查看此 reference关于 call_command。
最后,将您的 Facebook 应用程序 key 发布到互联网上的任何地方都不是一个好主意 - 如果我是您,我会重置它。
关于python - 测试 Django allauth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24892229/