我正在尝试编写一套自动集成测试来测试对Yahoo Fantasy Sports API的C#客户端库调用。一些API调用需要OAuth令牌,这是我遇到一些困难的地方。我可以使用Web浏览器生成访问密钥和密码,然后在我的测试代码中传递它们,但令牌在一小时后过期,所以我需要手动重新生成这些并在我想运行时更新我的测试配置测试
在需要OAuth令牌时是否有编写API集成测试的最佳实践?
答案 0 :(得分:3)
通常这样的api提供了一种获取身份验证令牌的方法,而无需使用浏览器。我不确定雅虎体育是否是其中之一。
通常你必须创建一个访问OAuth2系统的应用程序,然后他们会给你一个ClientID和ClientSecret,然后你点击一个令牌URL并接收一个有效一小时的访问令牌。
您可能想要考虑不进行集成测试。如果我是你,我会简单地模拟Api响应并在测试中使用它。因此,gt每个调用的响应示例然后只需创建一个假响应,每当您点击它时返回该响应。然后你仍然可以运行你的测试。
你需要回答的问题是:我究竟在测试什么?您是在测试第三方APi还是要测试自己的代码。
另外,不要忘记每个api允许在特定时间窗口内被击中一定次数。假装它的另一个原因,我会说