Ruby on rails 不能';找不到';rspec';发电机
在将RSpec作为插件安装之后,我尝试将其作为gem安装。我已经按照标题为rspec和rspec-rails-gems的部分的说明进行了操作。当我运行Ruby on rails 不能';找不到';rspec';发电机,ruby-on-rails,rspec,Ruby On Rails,Rspec,在将RSpec作为插件安装之后,我尝试将其作为gem安装。我已经按照标题为rspec和rspec-rails-gems的部分的说明进行了操作。当我运行ruby脚本/generate-rspec时,我发现错误找不到'rspec'生成器。只有插件才能工作吗?如果是这样的话,他们为什么还要为rspec和rspec-rails提供gems呢?我运行的是Rails 2.1.2的一个冻结版本,我使用的rpsec和rspec Rails版本是今天(2008年11月7日)1.1.11的最新版本 2008年11月
ruby脚本/generate-rspec
时,我发现错误找不到'rspec'生成器
。只有插件才能工作吗?如果是这样的话,他们为什么还要为rspec和rspec-rails提供gems呢?我运行的是Rails 2.1.2的一个冻结版本,我使用的rpsec和rspec Rails版本是今天(2008年11月7日)1.1.11的最新版本
2008年11月12日编辑
我已经安装了rspec和rspec-rails-gems。我已将宝石解压缩到vender/gems文件夹中。两者都是1.1.11版。是否应该有一个“rspec”生成器?我只使用了以下内容:
script/generate rspec_model mymodel
script/generate rspec_controller mycontroller
您是否同时安装了rspec和rspec-rails-gems
script/generate rspec
需要安装rspec-rails-gem。我以前遇到过这个问题,它归结为我使用的rails版本没有使用过的rspec版本。IIRC它是一个2.1版本的Rails,更新后的RSpec并没有作为gem发布。事实上,1.1.11是我拥有的最新版本(忽略github gems),所以我很确定这正是我的问题所在 我已经习惯于将master rspec的头部用于我所使用的Rails的任何版本,它对我来说都是稳定的(并且不会破坏生产,除非测试出现假阳性) 我使用git使用子模块实现,例如:
git submodule add git://github.com/dchelimsky/rspec.git vendor/plugins/rspec
git submodule add git://github.com/dchelimsky/rspec-rails.git vendor/plugins/rspec_on_rails
在Fedora 9(OLPC)上,我做到了:
这些让我到了可以奔跑的地方
$ ruby script/generate rspec
这对我来说很有效,而git指令却不起作用。您需要这样做
sudo gem install cucumber-rails
如果现在有人想知道Rails 3, 这似乎对我有好处:
我使用的是rails 2.3.9。我开始尝试使用gem,但就是无法让rspec的生成器出现。然后我使用上的说明安装了插件,这就成功了 如果您使用的是bundler 1.0.8版,则应
$gem将bundler更新到更新的1.0.9版
我也有同样的症状,更新bundler帮了我的忙。
现在,$rails g
正在使用gem文件中定义的gem。我还将我的宝石分组如下:
source 'http://rubygems.org'
gem 'rails', '3.0.3'
gem 'sqlite3-ruby', :require => 'sqlite3'
group :test, :development do
gem 'capybara', '0.4.1.1'
gem 'database_cleaner'
gem 'cucumber-rails'
gem 'rspec-rails', '~> 2.4'
gem 'launchy'
end
(请注意,测试gem也在:development
组中。)
祝你今天愉快:)
路轨3和rspec 2的卢卡斯+
您必须确保在GEM文件中包含“rspec”和“rspec rails”
运行包安装
然后运行rails g rspec:install,因为rspec已经成为rails中的默认测试框架,您不再需要通过rspec生成器创建规范文档:
Rails 2 RSpec生成器
rails generate rspec_model mymodel
Rails 3 RSpec生成器
rails generate rspec_model mymodel
使用RSpec作为默认测试框架,只需使用Rails自己的生成器。这将构造您需要的所有文件,包括RSpec测试。e、 g
$rails generate model mymodel
invoke active_record
create db/migrate/20110531144454_create_mymodels.rb
create app/models/mymodel.rb
invoke rspec
create spec/models/mymodel_spec.rb
如果您使用的是rails 2.3,则需要使用
ruby脚本/插件安装git://github.com/dchelimsky/rspec-rails.git -r'参考/标签/1.3.3'
然后
ruby脚本/generate rspec您可能需要运行bundle exec:
bundle exec rails g rspec:install
如果您键入script/railsgenerate
,您将实际看到的唯一RSpec生成器是RSpec:install
。这是因为RSpec在Rails中注册为测试框架,所以每当您生成诸如模型、控制器等应用程序组件时,都会生成RSpec规范,而不是test::Unit
tests
请注意,生成器是用来帮助您入门的,但它们不能代替编写您自己的示例,而且它们只能保证在默认场景(ActiveRecord&Webrat)中开箱即用
请提供更多关于您的设置和所做工作的详细信息。我使用script/generate rspec,因为这是它在网站上说明的下一步。我无法用这个新版本运行这个脚本,或者我的任何rspec测试。是的,rspec生成器设置了一些类似spec_helper.rb的模板。在rails 3中,“rails生成控制器mycontroller”谢谢!在运行script/generate-rspec-model-mymodel时,我一直没有得到任何生成。这为我解决了这个问题。谢谢如果您正在阅读这些rails 2.x说明,并试图将其转换为rails 3.x,您还想知道,例如,“script/generate rspec_controller Users new”已经变成了“rails generate controller Users new”(“controller”生成器已经过rspec的培训,如果您已经安装了它),“rspec_模型”更改为“模型”。谢谢你的指点!实际上,rspec\u model
现在已更改为rspec:model
。您可以使用railsgenerate
查看所有其他生成器这对我来说适用于rails4和rspec2.13,我缺少rspecrails。