作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在编写一个使用 gmail API 的库。几乎每个功能都需要连接到 gmail API 并在所有需要进行身份验证的情况下正常工作。
例如,这个库具有更改电子邮件标签的能力,因此为了测试它,我可以创建一个虚拟帐户、获取凭据并在收件箱中设置“测试电子邮件”、更改它们的标签并检查是否它们已正确更改,但第三方如何使用该 gmail 帐户执行单元测试?要使用它,他们需要访问该帐户,这将允许他们更改电子邮件标签(和其他内容)并使我的单元测试无效。
我的另一个想法是即时生成一批测试电子邮件,然后在测试完成后删除它们的所有痕迹。这样每个运行测试的第三方都只能使用他们自己的测试帐户。
我只是想知道是否有更标准的方法来做到这一点。
最佳答案
最佳实践是“模拟”或伪造所有外部依赖项。例如,gmail API 的所有调用都应该是针对伪造的接口(interface)。您只需测试 API 是否已使用正确的参数调用...有很多库可以进行模拟...
关于unit-testing - 您如何为连接到授权帐户的库编写测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45355483/
我是一名优秀的程序员,十分优秀!