加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何使用rails 2.3.8和bundler设置rspec?

发布时间:2020-12-17 01:49:39 所属栏目:百科 来源:网络整理
导读:我发现很多指南都没有使用捆绑器. 这是我用于测试的gemfile的一部分: group :test do gem "cucumber" gem "cucumber-rails" gem "launchy" gem "hpricot" gem "gherkin" gem "capybara" gem "rspec" gem "rack" gem "rspec-rails" gem "webrat" gem "databa
我发现很多指南都没有使用捆绑器.

这是我用于测试的gemfile的一部分:

group :test do
    gem "cucumber"
    gem "cucumber-rails"
    gem "launchy"
    gem "hpricot"
    gem "gherkin"

    gem "capybara"
    gem "rspec"
    gem "rack"
    gem "rspec-rails"

    gem "webrat"
    gem "database_cleaner"

    gem "factory_girl"
    gem "shoulda",:require => nil
    gem "shoulda-matchers",:git => "https://github.com/thoughtbot/shoulda-matchers"
    gem "cobravsmongoose"

    gem "rcov"
    gem "ZenTest"
    gem "autotest-growl"
    gem "inherited_resources","1.0.2"
    gem "responders","0.4.2"
end

但即使如此,发电机也从未存在过.
这样做:脚本/生成rspec
不起作用,(找不到rspec)发生器

如果宝石作为插件安装,将安装生成器……但我认为这只会给应用程序增加膨胀,不同的宝石在不同的操作系统上编译不同.

那么,任何人都有任何指南用于使用带有rails 2.3.x的bundler设置rspec吗?

解决方法

我们仍然在rails 2.3.8上有一个应用程序,但我们更新它使用bundler(Gemfile),它也有rspec和黄瓜工作.

确保按照捆绑包指南使您的应用程序正确使用Gemfile的gem加载而不是Rails的默认值:http://gembundler.com/rails23.html

获得preinitializer.rb并更改config / boot.rb正常工作后,您可能需要确保使用正确版本的rspec和cucumber.

我认为通用宝石’rspec-rails’可能会尝试为你安装rspec 2,但这只适用于Rails 3(我相信),所以你可能需要专门告诉它使用rspec 1.x.

我们的测试组看起来像这样(虽然我认为其中一些宝石可能比他们需要的更旧,但是我们已经更新它们已经有一段时间了,因为应用程序的rails 3升级正在等待我们不太担心什么它现在看起来像):

group :test,:cucumber do
  gem 'autotest-fsevent'
  gem 'test-unit','~>1.2.3'
  gem "hoe","1.5.1"
  gem 'autotest-rails','4.1.0'
  gem 'rspec','1.3.2'
  gem 'rspec-rails','1.3.4'
  gem 'cucumber','0.10.0'#,'0.9.0'
  # Change this shinanigans to 0.4.0 when it gets released ;)
  gem 'cucumber-rails','0.3.2'
  gem 'database_cleaner','0.5.2'
  gem 'capybara','0.3.9'
  gem 'launchy'
  gem 'dupe','0.5.1'
  gem 'factory_girl','1.2.4'
  gem 'email_spec','~>0.6.2',:require => false
end

执行此操作并运行bundle install之后,我可以在输出中键入命令script / generate –help,其中包含以下内容:

Installed Generators
  Rubygems: business_time_config,cucumber,culerity,dupe,email_spec,feature,integration_spec,paperclip,rspec,rspec_controller,rspec_model,rspec_scaffold
  Builtin: controller,helper,integration_test,mailer,metal,migration,model,observer,performance_test,plugin,resource,scaffold,session_migration

如您所见,黄瓜和rspec发生器实际上在那里可用.

我认为您的问题可能是它正在安装的rspec版本.如果它正在安装rspec版本2,那么它与rails 3相关联,它以不同的方式处理gems中的生成器我相信(我相信它们必须放在不同的目录结构中).这可能就是你的rails 2.3.x应用程序没有看到它们的原因.

你不必完全按照我的版本,我不是一个粉丝(根本没有)把特定版本放在Gemfile中,但是我们最后在这里做了因为a)我们没有完全理解bundler,并且b)我们需要确保我们获得与rails 2.3兼容的宝石.

希望这有帮助!如果您有疑问,请告诉我.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读