首页 > 解决方案 > 需要 OAuth 身份验证的 Django 单元测试

问题描述

我有一个使用 Gmail API 发送批量电子邮件的 Django 项目。用户可以创建活动电子邮件并将其发送给多个联系人。如果联系人回复了活动中的任何电子邮件,则该联系人不应再收到来自该活动电子邮件的电子邮件。

我想为此功能添加单元测试,但我不知道使用什么方法,因为我需要先授权一个 Gmail 帐户,然后才能使用该帐户发送活动电子邮件。此外,我想测试该活动的回复,这意味着我需要授权一个新的 Gmail 帐户,用于发送回复。

所以这就是我打算做的事情:
1. 手动授权两个 Gmail 帐户。2. 在测试中,我将从数据库中搜索前两个 Gmail 帐户,并使用其中一个发送活动电子邮件,另一个用于回复电子邮件。

唯一的问题是我不确定这种方法是最好的,这就是我在这里问的原因,也许有人有更好的主意。

谢谢!

标签: djangopython-3.xunit-testingpython-unittestdjango-testing

解决方案


您也可以在unittest.TestCase.setUp(self)方法中编写帐户授权代码。它将在您的每个测试方法之前被调用。考虑到 OAuth 的使用,我强烈建议您使用Requests包。它在任何 API 测试和其他东西中都非常方便。


推荐阅读