python - 测试 Django allauth

标签 python django facebook testing django-allauth

我正在尝试测试我的应用程序,但不确定如何在测试环境中配置 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/

相关文章:

django - 使用 Django 启动和停止定期后台任务

java - Android 应用程序在多次回调后变得缓慢 - 这里出了什么问题?

facebook - Facebook 的 fasttext 库如何处理词向量化输入中的数字数据?

python - forms.py 的问题

Python:为什么我的 Click CLI 没有执行所需的功能?

python - 如何获取按多列分组的数据帧的第一行,并将聚合函数作为计数?

ios - Facebook 登录 - 获取用户数据

java - java或python中范围的递归最大函数

django - 如何在 Django 模型中轻松地将记录标记为已删除,而不是实际删除它们?

Django 识别文件模式