2008-11-07 8 views
17

J'essaie d'installer RSpec en tant que bijou après l'avoir installé en tant que plugin. Je suis allé de l'avant et a suivi les instructions trouvées ici http://github.com/dchelimsky/rspec-rails/wikis pour la section intitulée rspec et rspec-rails gems. Lorsque je cours ruby script/generate rspec, j'obtiens l'erreur Couldn't find 'rspec' generator. Est-ce que seuls les plugins fonctionnent? Si oui, pourquoi offrent-ils même les gemmes pour rspec et rspec-rails? Je cours une copie gelée de Rails 2.1.2, et la version de rpsec et rspec-rails que j'utilise est la plus nouvelle pour aujourd'hui (7 novembre 2008) 1.1.11.Impossible de trouver le générateur 'rspec'

EDIT 12 novembre 2008 J'ai les gems rspec et rspec-rails installés. J'ai décompressé les gemmes dans le dossier vender/gems. Les deux sont la version 1.1.11.

+0

Plus de détails sur votre configuration et ce que vous avez fait, s'il vous plaît. –

Répondre

1

Est-ce qu'il y a un générateur 'rspec'? Je ne l'ai utilisé les éléments suivants:

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

J'utilise script/generate rspec car c'est l'étape suivante dans les directions sur le site. Je ne peux pas exécuter ce script, ni aucun de mes tests rspec avec cette nouvelle version. – mikeweber

+0

Oui, le générateur rspec configure des éléments de plaque de chaudière comme spec_helper.rb. – Otto

+0

Dans les rails 3, "les rails génèrent le contrôleur mycontroller" – jackr

8

Avez-vous installé les pierres précieuses rspec et rspec-rails?

script/generate rspec 

nécessite l'installation de rspec-rails gem.

+0

Ça a arrangé ça pour moi. Merci! –

1

J'ai eu ce problème avant, il s'est résumée à la version de RSpec je ne travaillais pas avec la version de Rails que j'utilisais. IIRC c'était un Rails 2.1 et le RSpec mis à jour n'avait pas été libéré comme gemme. En fait, 1.1.11 est le joyau que j'ai, qui serait le dernier disponible (en ignorant github gems), donc je suis assez sûr que c'est exactement ce que mon problème était. J'ai pris l'habitude d'utiliser la tête de master rspec avec n'importe quelle version de Rails, il me semble stable (et ne va pas casser les choses en production, sauf si un test a rompu avec un faux positif).

je le fais avec git en utilisant des sous-modules, par exemple:

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

Sur Fedora 9 (OLPC) Je l'ai fait:

$ sudo gem install rspec 

$ sudo gem install rspec-rails 

Ceux qui me sont arrivés là où je pouvais courir

$ ruby script/generate rspec 

Cela a fonctionné pour moi, alors que les instructions git ne fonctionnaient pas.

-2

Vous devez faire

sudo gem install cucumber-rails 
+0

Ce n'est pas assez d'informations. Pourquoi? – Rimian

1

Au cas où quelqu'un s'interroge sur Rails 3 maintenant, cela semble faire l'affaire pour moi: http://github.com/rspec/rspec-rails/blob/29817932b99fc45adaa93c3f75d503c69aafcaef/README.markdown

+0

Si vous lisez ces instructions 2.x sur les rails, et que vous essayez de les traduire dans les rails 3.x, vous devez également savoir que, par exemple, "script/generate rspec_controller Users new" devient "rails". nouveau "(le générateur" contrôleur "a été formé pour faire RSpec, si vous l'avez installé). – jackr

1

J'utilise des rails 2.3. 9. J'ai commencé à essayer d'utiliser la gemme (s) mais je n'ai pas pu obtenir le générateur pour que rspec apparaisse. Ensuite, j'ai installé le plugin (s) en utilisant les instructions sur https://github.com/dchelimsky/rspec/wiki/rails et cela a fait l'affaire.

0

Si vous utilisez la version 1.0.8 de bundler, vous devez utiliser $ gem update bundler à une version plus récente 1.0.9. J'ai eu les mêmes symptômes et la mise à jour bundler m'a aidé. Maintenant $ rails g utilise des gemmes définies dans le Gemfile.J'ai aussi regroupé mes pierres précieuses comme ceci:

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 

(. Notez que les pierres précieuses de test sont également dans le groupe :development)

Have a nice day :)

Lukas

2

Pour Rails 3 et rspec 2+ Vous devez vous assurer que vous incluez 'rspec' et rspec-rails 'dans votre Gemfile Run Bundle Installez puis exécutez les rails g rspec: install

+0

Cela a fonctionné pour moi avec les rails 4 et rspec 2.13, il me manquait rspec-rails. – LisaD

10

Depuis RSpec est devenu le cadre de test par défaut dans Rails vous n'avez plus besoin de créer des spécifications docs via les générateurs rspec:

Rails 2 générateurs RSpec

rails generate rspec_model mymodel 

Rails 3 générateur RSpec Avec RSpec en tant que framework de test par défaut, utilisez simplement les propres générateurs de Rails. Cela va construire tous les fichiers dont vous avez besoin, y compris les tests RSpec. par exemple.

$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

Donc, en 3, 'rspec_model' est changé en 'model'. Merci pour le pointeur! –

+2

En fait 'rspec_model' est maintenant changé en' rspec: model'. Vous pouvez utiliser 'rails generate' pour voir tous les autres générateurs – tommasop

2

Si vous utilisez des rails 2.3 Vous devez utiliser

scripts ruby ​​/ plugin installer git: //github.com/dchelimsky/rspec-rails.git -r « refs/tags/1.3. 3'

puis

script Ruby

/générer rspec

-1

Vous pourriez avoir besoin pour exécuter bundle exec:

bundle exec rails g rspec:install 
0

Si vous tapez script/rails generate, le seul RSpec générateur vous verrez réellement est rspec:install. En effet, RSpec est inscrit Rails comme le framework de test, donc chaque fois que vous générez des composants d'application comme modèles, contrôleurs, etc., spécifications RSpec sont générés au lieu de Test::Unit tests.

S'il vous plaît noter que les générateurs sont là pour vous aider à démarrer, mais ils ne remplacent pas pour écrire vos propres exemples, et ils ne sont garantis de travailler hors de la boîte pour le scénario par défaut (ActiveRecord & Webrat).

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

Questions connexes