单元测试需要OAuth令牌的API

时间:2013-03-08 15:35:37

标签: c# unit-testing oauth yahoo

我正在尝试编写一套自动集成测试来测试对Yahoo Fantasy Sports API的C#客户端库调用。一些API调用需要OAuth令牌,这是我遇到一些困难的地方。我可以使用Web浏览器生成访问密钥和密码,然后在我的测试代码中传递它们,但令牌在一小时后过期,所以我需要手动重新生成这些并在我想运行时更新我的​​测试配置测试

在需要OAuth令牌时是否有编写API集成测试的最佳实践?

1 个答案:

答案 0 :(得分:3)

通常这样的api提供了一种获取身份验证令牌的方法,而无需使用浏览器。我不确定雅虎体育是否是其中之一。

通常你必须创建一个访问OAuth2系统的应用程序,然后他们会给你一个ClientID和ClientSecret,然后你点击一个令牌URL并接收一个有效一小时的访问令牌。

您可能想要考虑不进行集成测试。如果我是你,我会简单地模拟Api响应并在测试中使用它。因此,gt每个调用的响应示例然后只需创建一个假响应,每当您点击它时返回该响应。然后你仍然可以运行你的测试。

你需要回答的问题是:我究竟在测试什么?您是在测试第三方APi还是要测试自己的代码。

另外,不要忘记每个api允许在特定时间窗口内被击中一定次数。假装它的另一个原因,我会说