【发布时间】:2013-02-24 05:05:26
【问题描述】:
我正在尝试编写一套自动化集成测试来测试我的 C# 客户端库对 Yahoo Fantasy Sports API 的调用。几个 API 调用需要 OAuth 令牌,这是我遇到的一些困难。我可以使用 Web 浏览器生成访问密钥和秘密,然后在我的测试代码中传递它们,但是令牌会在一小时后过期,所以我需要手动重新生成这些并在我想要运行的任何时候更新我的测试配置测试。
在需要 OAuth 令牌时是否有编写 API 集成测试的最佳实践?
【问题讨论】:
-
不能自动生成密钥吗?有 REST api 吗?或者你可以只做代码中的http请求是你必须的。
-
@Sean,你是如何最终嘲笑 Yahoo Fantasy Sports API 的?您是否创建了一个模拟它的代码框架?我也需要模拟 API,我想了解您是如何做到的。
-
我从来没有完全嘲笑过它。我正在开发一个框架,您可以在此处查看:github.com/sconno05/yahoo-fantasy-football-tools。我最终将令牌放入环境变量中,但仍需要通过 Web 管理页面重新生成它们。
-
您可以从 ServiceStack AuthTests 本身了解身份验证测试 - github.com/ServiceStack/ServiceStack/blob/master/tests/…
-
您可以在初始化方法中为一组测试创建访问令牌,但这至少会带来一个问题。如果您的测试花费的时间比令牌的生命周期长(希望不会)怎么办?我来到这里实际上对单元测试访问远程 API 的客户端感兴趣。我正在为为别人的 API 构建模拟服务的想法而苦苦挣扎。我想在这里看到答案。
标签: c# unit-testing oauth yahoo