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