我将OAuth集成到我的Django应用程序中。OAuth有两个步骤:
我想为上面的流程实现TestCase单元。下面是我为测试步骤1所写的内容:
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域,而不是我的实际域,因此测试失败。你能帮我实现两个步骤的测试吗?谢谢!
发布于 2022-09-16 10:19:02
在本例中,我建议使用python本机unittest.mock库。使用模拟库可以创建函数或提供仅在测试中使用的假值。
最近,我写了一个关于使用模拟的博客文章 (正确!无耻的自我推销),但我也说了模拟有一些警告.如果您愿意,也可以使用正式文件。
由于您的测试是在您的帖子中给出的,我不知道还有什么方法比使用unittest.mock更好。但是,请注意,这个库可能会引起混淆,因为它可能有一些违反直觉的行为。
我建议您在真正的单元测试中测试您的重定向(您提供的案例更多的是一个集成测试),方法是测试一个完成这项工作的功能。
https://stackoverflow.com/questions/73734604
复制相似问题