2008-11-07 37 views
17

Tôi đang cố cài đặt RSpec làm đá quý sau khi cài đặt nó làm plugin. Tôi đã đi trước và làm theo các hướng dẫn được tìm thấy ở đây http://github.com/dchelimsky/rspec-rails/wikis cho phần có tiêu đề rspec và rspec-rails gems. Khi tôi chạy ruby script/generate rspec, tôi gặp lỗi Couldn't find 'rspec' generator. Chỉ các plugin hoạt động? Nếu vậy, tại sao họ thậm chí cung cấp các đá quý cho rspec và rspec-rails? Tôi đang chạy một bản sao đông lạnh của Rails 2.1.2 và phiên bản rpsec và rspec-ray tôi đang sử dụng là phiên bản mới nhất cho hôm nay (ngày 7 tháng 11 năm 2008) 1.1.11.Không thể tìm thấy máy phát 'rspec'

EDIT 12 tháng 11 năm 2008 Tôi đã cài đặt cả đá quý rspec và rspec-ray. Tôi đã giải nén các viên đá quý vào thư mục vender/gems. Cả hai đều là phiên bản 1.1.11.

+0

Thêm chi tiết về thiết lập của bạn và những gì bạn đã làm, vui lòng. –

Trả lời

1

Có phải là trình phát 'rspec' không? Tôi chỉ sử dụng các thông tin sau:

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

Tôi đang sử dụng tập lệnh/tạo rspec vì đó là bước tiếp theo mà nó nói trong các hướng dẫn trên trang web. Tôi không thể chạy tập lệnh này hoặc bất kỳ thử nghiệm rspec nào của tôi với phiên bản mới này. – mikeweber

+0

Có, máy phát điện rspec thiết lập một số công cụ tấm nồi hơi như spec_helper.rb. – Otto

+0

Trong đường ray 3, "đường ray tạo bộ điều khiển bộ điều khiển" – jackr

8

Bạn đã cài đặt cả đá quý rspec và rspec-ray chưa?

script/generate rspec 

yêu cầu cài đặt đá quý rspec-ray.

+0

Điều đó đã sửa nó cho tôi. Cảm ơn! –

1

Tôi đã gặp sự cố này trước đó, nó đã đun sôi xuống phiên bản RSpec mà tôi không làm việc với phiên bản Rails tôi đang sử dụng. IIRC nó là một 2.1 Rails và RSpec cập nhật đã không được phát hành như một viên ngọc. Trong thực tế, 1.1.11 là đá quý tôi có, mà sẽ là mới nhất có sẵn (bỏ qua đá quý github), vì vậy tôi khá chắc chắn đó là chính xác những gì vấn đề của tôi.

Tôi đã sử dụng phần đầu của chương trình rspec với bất kỳ phiên bản Rails nào tôi đang sử dụng, nó có vẻ ổn định với tôi (và sẽ không phá vỡ mọi thứ trong sản xuất trừ khi bằng cách nào đó một dương tính giả).

tôi làm điều đó với submodules git sử dụng, ví dụ:

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

On Fedora 9 (OLPC) Tôi đã làm:

$ sudo gem install rspec 

$ sudo gem install rspec-rails 

Những đã cho tôi đến nơi mà tôi có thể chạy

$ ruby script/generate rspec 

Điều này phù hợp với tôi, trong khi lệnh git không hoạt động.

-2

Bạn sẽ cần phải làm

sudo gem install cucumber-rails 
+0

Đây không phải là thông tin đầy đủ. Tại sao? – Rimian

1

Trong trường hợp bất cứ ai đang tự hỏi về Rails 3 bây giờ, này dường như làm các trick cho tôi: http://github.com/rspec/rspec-rails/blob/29817932b99fc45adaa93c3f75d503c69aafcaef/README.markdown

+0

Nếu bạn đang đọc những đường ray 2.x hướng, và cố gắng dịch thành đường ray 3.x, bạn cũng sẽ muốn biết rằng, ví dụ, "kịch bản/tạo rspec_controller Người dùng mới" đã trở thành "đường ray tạo ra người dùng điều khiển mới "(bộ điều khiển" máy phát điện "đã được đào tạo để làm RSpec, nếu bạn đã cài đặt). – jackr

1

Tôi đang sử dụng đường ray 2.3. 9. Tôi bắt đầu cố gắng sử dụng đá quý (s) nhưng chỉ không thể có được máy phát điện cho rspec để hiển thị. Sau đó, tôi đã cài đặt (các) plugin bằng cách sử dụng các hướng dẫn trên https://github.com/dchelimsky/rspec/wiki/rails và đã thực hiện điều đó.

0

Nếu bạn đang sử dụng phiên bản gói 1.0.8, bạn nên $ gem update bundler lên phiên bản mới hơn 1.0.9.

Tôi đã có cùng một sympton và gói cập nhật đã giúp tôi. Bây giờ $ rails g đang sử dụng đá quý được xác định trong Gemfile.Ngoài ra tôi nhóm đá quý của tôi như thế này:

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 

(. Lưu ý rằng đá quý thử nghiệm cũng nằm trong nhóm :development)

Have a nice day :)

Lukas

2

Đối với Rails 3 và rspec 2+ Bạn phải đảm bảo rằng bạn bao gồm 'rspec' và rspec-ray 'trong Gemfile Chạy Gói cài đặt của bạn sau đó chạy đường ray g rspec: cài đặt

+0

Điều này làm việc cho tôi với đường ray 4 và rspec 2.13, tôi đã bỏ lỡ rspec-ray. – LisaD

10

Kể từ RSpec đã trở thành khuôn khổ kiểm tra mặc định trong Rails bạn không còn cần phải tạo tài liệu đặc tả thông qua các máy phát điện rspec:

Rails 2 RSpec phát

rails generate rspec_model mymodel 

Rails 3 máy phát điện RSpec

Với RSpec làm khung kiểm tra mặc định, chỉ cần sử dụng trình tạo riêng của Rails. Điều này sẽ xây dựng tất cả các tệp bạn cần bao gồm các bài kiểm tra RSpec. ví dụ.

$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 
+0

Vì vậy, trong 3, 'rspec_model' được thay đổi thành 'model'. Cảm ơn con trỏ! –

+2

Thực tế 'rspec_model' giờ đã thay đổi thành' rspec: model'. Bạn có thể sử dụng 'đường ray tạo' để xem tất cả các trình tạo khác – tommasop

2

Nếu bạn đang sử dụng đường ray 2.3 Bạn cần phải sử dụng

ruby ​​script/plugin cài đặt git: //github.com/dchelimsky/rspec-rails.git -r 'refs/tags/1,3. 3'

và sau đó

ruby ​​script/tạo rspec

-1

Bạn có thể cần phải chạy bó exec:

bundle exec rails g rspec:install 
0

Nếu bạn nhập script/rails generate, chỉ Máy phát điện RSpec mà bạn thực sự sẽ thấy là rspec:install. Đó là bởi vì RSpec được đăng ký với Rails làm khung kiểm tra, vì vậy bất cứ khi nào bạn tạo các thành phần ứng dụng như mô hình, bộ điều khiển, v.v ... Thông số RSpec được tạo thay vì Test::Unit kiểm tra.

Xin lưu ý rằng các máy phát điện đang có để giúp bạn bắt đầu, nhưng họ không thể thay thế cho các văn bản ví dụ của riêng bạn, và họ chỉ được bảo đảm để làm việc ra khỏi hộp cho kịch bản mặc định (ActiveRecord & Webrat).

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

Các vấn đề liên quan