2008-11-07 81 views
17

我試圖在將它安裝爲插件後將RSpec安裝爲gem。我已經繼續前進,並按照http://github.com/dchelimsky/rspec-rails/wikis的說明操作,標題爲rspec和rspec-rails gems。當我運行ruby script/generate rspec時,出現錯誤Couldn't find 'rspec' generator。只有插件有效嗎?如果是這樣,爲什麼他們甚至提供rspec和rspec-rails的寶石?我正在運行Rails 2.1.2的凍結副本,並且我正在使用的rpsec和rspec-rails版本是今天(2008年11月7日)1.1.11的最新版本。找不到'rspec'生成器

編輯2008年11月12日 我同時安裝了rspec和rspec-rails gems。我已將寶石解包到供應商/寶石文件夾中。兩者都是版本1.1.11。

+0

更多細節上的設置,你做了什麼,請。 – 2008-11-07 18:19:22

回答

1

是否應該有'rspec'生成器?我只使用以下內容:

script/generate rspec_model mymodel 
script/generate rspec_controller mycontroller 
+0

我正在使用腳本/生成rspec,因爲這是它在網站上的說明中說的下一步。我無法運行這個腳本,或者使用這個新版本的任何rspec測試。 – mikeweber 2008-11-12 19:11:10

+0

是的,rspec發生器設置了一些像spec_helper.rb這樣的鍋爐板。 – Otto 2009-01-01 16:47:52

+0

在導軌3中,「導軌生成控制器mycontroller」 – jackr 2011-06-06 22:24:55

8

您是否安裝了rspec和rspec-rails gems?

script/generate rspec 

要求安裝rspec-rails gem。

+0

爲我修好了。謝謝! – 2009-02-15 13:26:01

1

我以前有過這個問題,它歸結爲RSpec的版本,我沒有使用我正在使用的Rails版本。 IIRC它是一個2.1 Rails和更新的RSpec沒有被髮布爲寶石。事實上,1.1.11是我擁有的寶石,它將是最新的(忽略github寶石),所以我很確定這正是我的問題所在。

我已經採取了只使用主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 
1

在Fedora 9(OLPC)我所做的:

$ sudo gem install rspec 

$ sudo gem install rspec-rails 

那些讓我來,我可以在何處運行

$ ruby script/generate rspec 

這對我有用,而git指令不起作用。

-2

你需要做的

sudo gem install cucumber-rails 
+0

這是不夠的信息。爲什麼? – Rimian 2010-07-20 05:54:09

0

如果您使用的是捆綁軟件版本1.0.8,您應該將$ gem update bundler升級到較新的版本1.0.9。

我有相同的症狀,並更新打包機幫我。 現在$ rails g正在使用Gemfile中定義的寶石。此外,我分組我的寶石是這樣的:

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 

(需要注意的是測試寶石也是:development組)

有一個愉快的一天:)

盧卡斯

2

對於Rails 3的和rspec 2+ 您必須確保在您的Gemfile中包含'rspec'和rspec-rails' 運行軟件包安裝 然後運行rails g rspec:install

10

由於RSpec中已經成爲了Rails的默認測試框架,你不再需要通過RSpec的發電機,以創建規範文檔:

梁2 RSpec的發電機

rails generate rspec_model mymodel 

的Rails 3 RSpec的發電機

使用RSpec作爲默認測試框架只需使用Rails自己的生成器。這將構建您需要的所有文件,包括RSpec測試。例如

$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 
2

如果使用軌道2.3您需要使用

Ruby腳本/插件安裝的git://github.com/dchelimsky/rspec-rails.git -r「裁判/標籤/ 1.3。 3'

然後

Ruby腳本/生成rspec的

-1

您可能需要運行捆綁高管:

bundle exec rails g rspec:install 
0

如果您輸入script/rails generate,唯一的RSpec發電機,你實際上會看到的是rspec:install。這是因爲RSpec的Rails的作爲測試框架註冊,所以每當你產生這樣的模型,控制器等應用組件,生成的,而不是Test::Unit測試RSpec的規格。

請注意,發電機在那裏幫助您上手,但它們對於編寫自己的例子沒有替代品,他們只保證工作了默認情況下的方塊(ActiveRecord的 & Webrat)。

https://github.com/rspec/rspec-rails