web-dev-qa-db-fra.com

Comment utiliser RSpec sans Rails?

Quel est le processus pour faire TDD dans Ruby avec RSpec sans Rails?

Ai-je besoin d'un Gemfile? A-t-il seulement besoin de rspec?

Ruby 1.9.3

46
B Seven

Le processus est le suivant:

Installez la gemme rspec à partir de la console:

gem install rspec

Créez ensuite un dossier (nous le nommerons root) avec le contenu suivant:

root/my_model.rb

root/spec/my_model_spec.rb

#my_model.rb
class MyModel
  def the_truth
    true
  end
end

#spec/my_model_spec.rb

require_relative '../my_model'

describe MyModel do
  it "should be true" do
    MyModel.new.the_truth.should be_true
  end
end

Ensuite, dans la console, exécutez

rspec spec/my_model_spec.rb

le tour est joué!

66
Erez Rabih

Depuis le répertoire de vos projets ...

gem install rspec
rspec --init

puis écrivez les spécifications dans le répertoire spec créé et exécutez-les via

rspec 'path to spec' # or just rspec to run them all
41
Kyle

Les workflows autour de gem install rspec sont défectueux. Utilisez toujours Bundler et Gemfile pour garantir la cohérence et éviter les situations où un projet fonctionne correctement sur un ordinateur mais échoue sur un autre.

Créez votre Gemfile:

source 'https://rubygems.org/'

gem 'rspec'

Exécutez ensuite:

gem install bundler
bundle install
bundle exec rspec --init

Ce qui précède créera .rspec et spec/spec_helpers.rb pour vous.

Créez maintenant votre exemple de spécification dans spec/example_spec.rb:

describe 'ExampleSpec' do
  it 'is true' do
    expect(true).to be true
  end
end

Et exécutez les spécifications:

% bundle exec rspec
.

Finished in 0.00325 seconds (files took 0.09777 seconds to load)
1 example, 0 failures
5
Nowaker