繁体   English   中英

如何在rails上使用rspec和capybara测试API?

[英]How to test a API with rspec and capybara on rails?

我创建了一个控制器,可以通过特殊的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值始终为null。 为什么? 是否有必要从测试代码中获取api url访问帖? 如果有必要,该怎么办? visit方法不能采取其他参数。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM