首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在两个不同的Rails应用程序上运行控制器测试

在两个不同的Rails应用程序上运行控制器测试
EN

Stack Overflow用户
提问于 2016-05-17 23:52:35
回答 1查看 48关注 0票数 0

我正在帮助将一个Rails2应用程序迁移到Rails4,并且我已经在项目接近尾声时参与进来了。Rails 2应用程序没有测试。

显然,我们需要测试来确保Rails4应用程序正常工作,但我们不想用Rails2语法编写测试,然后经历将测试迁移到Rails4的痛苦。我们目前在其他项目中使用RSpec。

我想在Rails4中编写它们作为功能测试,并使用Capybara.app_host将请求重新路由到正在运行的Rails2应用程序实例。问题是,应用程序是一个API,Capybara不是用来测试API的。

有没有办法将RSpec控制器测试路由到另一个服务器实例?

EN

回答 1

Stack Overflow用户

发布于 2016-09-26 21:25:22

再次感谢你的评论。

我想我们已经有计划了。我们试图让cucumber和cucumber-api-step在我们的旧项目上运行,但我们意识到要让旧的gem版本很好地协同工作将是一项艰巨的工作。

我现在尝试的解决方案是使用RSpec 1.3,创建一个spec/requests文件夹并向其中添加控制器测试。

我是从http://matthewlehner.net/rails-api-testing-guidelines/的一篇文章中得到这个想法的--谢谢马修。直到RSpec 2我才在文档中看到请求规范,所以我们使用integrate_views使我们的控制器测试非常接近集成测试,然后检查控制器返回的主体的内容。

至于语法,也许我们可以包含一个expect(..)帮助器来返回一个从Rails 2项目中的#to方法调用#should的对象,并在我们移植Rails 4项目时删除它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37281033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档