如何为连接到授权帐户的库编写测试?

时间:2017-07-27 15:47:06

标签: unit-testing go gmail-api

我正在编写一个使用gmail API的库。几乎每个函数都需要连接到gmail API,并且需要进行身份验证才能正常工作。

例如,这个库可以更改电子邮件标签,因此为了测试它,我可以创建一个虚拟帐户,获取凭据,并设置测试电子邮件"在收件箱中,更改其标签,并检查它们是否已正确更改,但第三方如何使用该Gmail帐户执行单元测试?要使用它,他们需要访问该帐户,这将允许他们更改电子邮件标签(和其他东西)并使我的单元测试无效。

我的另一个想法是即时生成一批测试电子邮件,然后在测试完成后删除它们的所有痕迹。这样,运行测试的每个第三方都可以使用自己的测试帐户。

我只是想知道是否有更标准的方法来做到这一点。

1 个答案:

答案 0 :(得分:4)

最佳做法是"模拟"或假冒所有外部依赖。例如,gmail API的所有调用都应该是伪造的接口。你只测试用适当的参数调用了API ......有很多库存来做模拟....