ruby-on-rails – Rspec:运行外部rails服务器
这个问题是关于从rspec环境启动外部项目的rails服务器.
有2个项目. >第一个项目充当管理后台,它是用户与网页交互的中央应用程序.我称之为BackOffice 我正在尝试测试这两个rails项目之间的API交互,我想设置rspec,这样我就可以在BackOffice项目中编写和维护我的spec文件.这些规范将启动ApiServer rails服务器,然后播放以执行测试. 我的问题是关于启动ApiServer rails服务器.在查看rails app初始化文件后,我假设我必须向“config / environment”添加一个require. 但是当我插入BackOffice / spec / spec_helper.rb时 require File.expand_path('../../../ApiServer/config/environment',__FILE__) 我收到了错误 `initialize!': Application has been already initialized. (RuntimeError) # Backtrace to the file: # ApiServer/config/environment.rb # Line: # Rails.application.initialize! 我还尝试在反引号中简单地调用以下内容 `cd /api/path; bundle exec rails s -p 3002` 但得到了同样的错误 然后我从Capybara源代码中获得灵感,并且需要“ApiServer / application”,然后我能够创建一个ApiServer.new对象,但是只要我调用initialize就可以了!它上面我得到了同样的信息. 任何帮助是极大的赞赏.干杯 解决方法
实际上第二个应用程序只不过是一个外部服务,这对于测试来说更好.
thinkbot有一篇关于使用vcr gem来模拟外部Web服务的好文章: https://robots.thoughtbot.com/how-to-stub-external-services-in-tests (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |