【问题标题】:How to test a API with rspec and capybara on rails?如何在 Rails 上使用 rspec 和 capybara 测试 API?
【发布时间】:2015-04-13 13:11:23
【问题描述】:

我创建了一个控制器,可以通过特殊的 url 读取 api 数据。

def category
  @data = get_api_data(param1)
end

def get_api_data(param1)
  "http://my_api_url/param1=#{param1}"
end

创建视图后,我可以在浏览器中看到结果。

如果我使用 rspec + capybara 进行功能测试

visit category_path('param1')

然后我想确认一个api数据将显示在视图中

expect(page).to have_field('name', with: 'aaa')

@data 值始终为空。为什么?是否有必要从测试代码中做一个 api url 访问帖子?如果需要,怎么办? visit 方法不能接受其他参数。

【问题讨论】:

    标签: ruby-on-rails ruby api rspec capybara


    【解决方案1】:

    Capybara 不是为测试 API 而设计的。你应该使用 Rspec 和 Airbone:https://github.com/brooklynDev/airborne

    【讨论】:

    • 谢谢。我不想测试真正的 API,但想测试使用 API 的功能。所以我应该在测试代码中制作模拟数据。我找到了https://github.com/bblimke/webmock
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    相关资源
    最近更新 更多