首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django应用程序中实现OAuth流的单元测试

在Django应用程序中实现OAuth流的单元测试
EN

Stack Overflow用户
提问于 2022-09-15 16:28:52
回答 1查看 39关注 0票数 0

我将OAuth集成到我的Django应用程序中。OAuth有两个步骤:

  1. 重定向到OAuth提供程序域名
  2. 用令牌回调Django应用程序

我想为上面的流程实现TestCase单元。下面是我为测试步骤1所写的内容:

代码语言:javascript
复制
def test_connect_with_oauth_provider(self):
    """Test connecting with OAuth provider."""
    url = signin_url("oauth-provider")

    res = self.client.get(url)
    self.assertEqual(res.status_code, status.HTTP_200_OK)

但是,测试使用的是testcase域,而不是我的实际域,因此测试失败。你能帮我实现两个步骤的测试吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-09-16 10:19:02

在本例中,我建议使用python本机unittest.mock库。使用模拟库可以创建函数或提供仅在测试中使用的假值。

最近,我写了一个关于使用模拟的博客文章 (正确!无耻的自我推销),但我也说了模拟有一些警告.如果您愿意,也可以使用正式文件

由于您的测试是在您的帖子中给出的,我不知道还有什么方法比使用unittest.mock更好。但是,请注意,这个库可能会引起混淆,因为它可能有一些违反直觉的行为。

我建议您在真正的单元测试中测试您的重定向(您提供的案例更多的是一个集成测试),方法是测试一个完成这项工作的功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73734604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档