连续第三方API监视和测试Rails

How*_*ard 14 ruby tdd bdd rspec ruby-on-rails

我们希望设置自动作业(via Jenkins)以警告第三方API是否已关闭或者他们是否部署了不兼容的API.

我正在谈论测试真实HTTP APIs而不是模拟,但由于我们已经使用模拟编写rspec,我不确定是否应该通过编写两个独立的测试来复制工作.

以前有人有这方面的经验吗?(我不限于Ruby/Rspec其他工具可以帮助)

Pau*_*nti 5

你看过录像机了吗?使用它,您可以"记录测试套件的HTTP交互并在将来的测试运行中重放它们,以进行快速,确定,准确的测试".在测试外部API的预期响应时,我已经将它与RSpec一起使用,并认为它很棒.我建议您查看标有的StackOverflow问题,如果您认为它可能对您有用.

不确定它的Jenkins集成,但是当我使用VCR时,我自动执行了一些常规任务,我需要使用Whenever("Ruby中的Cron作业")来访问API .不是真的连续,但有点自动化.


zed*_*xff 3

模拟用于测试您自己的代码,无需接触真实的 API。并且您想测试真实的 API。

所以我认为你必须在 RSpec 中编写一组测试,例如对第 3 方 API 进行不显眼的测试。
我所说的“不引人注目”是指跟踪您不会发出意外的“删除”API 请求,或者通过单个测试套件运行来使用所有每日请求 API 限制。

不知道是否存在指定的API测试工具。
对于我来说,我使用 RSpec 成功测试了我自己的远程 API/服务器。