2017-09-07 1 views
1

Ich habe nie sicher gewesen, was der Unterschied zwischen diesen OptionenWas beeinflusst die Angabe des Typs in einer RSpec?

sind
RSpec.describe V2::DirectMessagesController, type: :controller 

vs

RSpec.describe V2::DirectMessagesController, type: :request 

Oder wo man selbst es herauszufinden

+1

Werfen Sie einen Blick auf [dieser] (https://everydayrails.com/2016/08/29/replace-rspec-controller-tests.html) Blog-Post . –

Antwort

0

anfordern specs eine dünne Hülle schauen um Schienen bieten 'Integration Tests, und sind so konzipiert, um Verhalten durch den gesamten Stapel, einschließlich Routing (von Rails bereitgestellt) und ohne Stubbing (das liegt an Ihnen) zu fahren.

Eine Controller-Spezifikation ist ein RSpec-Wrapper für einen Rails-Funktionstest (ActionController::TestCase::Behavior). Es ermöglicht Ihnen, eine einzelne HTTP-Anforderung in jedem Beispiel zu simulieren, und dann erwartet angeben Ergebnisse wie:

  • gemacht Vorlagen
  • umleitet
  • Instanzvariablen in den Controller zugewiesen mit der geteilt werden Ansicht
  • Cookies mit der Antwort

-Controller zurückgeschickt s pec docs: https://relishapp.com/rspec/rspec-rails/docs/controller-specs

Anfrage spec docs: https://relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec

Verwandte Themen