--rails6 × Je veux installer rspec dans un environnement docker
Ajoutez la gemme suivante à: develop ,: test gem "rspec-rails" gem "factory_bot_rails"
Gemfile
group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  #Cadre de test
  gem "rspec-rails"
  gem "factory_bot_rails"
end
MacBook-Nom de l'application Air% docker-compose run web rails g rspec:install
Nom de l'application de départ_db_1 ... done
Running via Spring preloader in process 64
      create  .rspec
      create  spec
      create  spec/spec_helper.rb
      create  spec/rails_helper.rb
Cela créera un fichier de configuration dans le répertoire de votre application
Tout d'abord, les fichiers associés sont générés automatiquement avec la commande suivante. modèle est son propre modèle.
MacBook-Nom de l'application Air% docker-compose run web rails g rspec:modèle Nom du modèle
Nom de l'application de départ_db_1 ... done
Running via Spring preloader in process 64
      create  spec/models/reception_spec.rb
      invoke  factory_bot
      create    spec/factories/receptions.rb
Si vous pouvez le générer, écrivez un test de validation cette fois
spec/factories/reception.rb
FactoryBot.define do
  factory :reception do
    name {"Exemple de visiteur 1"}
    purpose {"entretien"}
    organization {"Sample Co., Ltd."}
  end
end
spec/models/reception_spec.rb
RSpec.describe Reception, type: :model do
  reception = FactoryBot.create(:reception)
  it 'instance de réception activée' do
    expect(reception).to be_valid
  end
end
Après avoir ajouté la spécification,
MacBook-Nom de l'application Air% docker-compose run web bundle exec rspec
Exécution terminée avec
MacBook-Nom de l'application Air% docker-compose run web bundle exec rspec
Nom de l'application de départ_db_1 ... done
.
Finished in 0.22889 seconds (files took 6.32 seconds to load)
1 example, 0 failures
Avant d'écrire la spécification de la requête, générez les fichiers nécessaires avec le générateur.
docker-compose run web rails g rspec:demande le nom du contrôleur/Nom du modèle
Starting heytaisho_db_1 ... done
Running via Spring preloader in process 66
      create  spec/requests/receptions_spec.rb
Ouvrez et modifiez le fichier généré
https://qiita.com/Ushinji/items/522ed01c9c14b680222c
Recommended Posts