0

我正在为 django 项目编写一个测试套件,该项目需要通过 django-social-auth (它的 facebook 后端)登录才能访问该网站。

我现在采取的方法是:

  • 对于每个测试:
    • 使用 facebook API 创建测试用户
    • 使用硒登录
    • 用户登录后与网站交互

问题是:我需要编写一些使用常规 django unittest(不是 selenium)的测试。知道如何使用常规 django unittest 登录吗?

4

1 回答 1

1

这不是一件容易的事,因为 oauth 代码在 social-auth 中非常耦合。所以你真的需要一个oauth服务来回答。

我所做的是social_auth.utils.urlopen用一个模拟来修补函数,该模拟返回以前记录的答案,以欺骗 django-social-auth 使其认为它正在与真正的 oauth 提供者交谈。

这是一个非常老套的解决方案,但允许我在隔离环境中测试我的自定义社交身份验证管道。

于 2012-11-20T23:15:40.367 回答