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