rspec-rails 3 generuje spec_helper.rb
i rails_helper.rb
. spec_helper.rb
jest dla specyfikacji, które nie zależą od Railsów (takich jak specyfikacje dla klas w katalogu lib). rails_helper.rb
jest dla specyfikacji, które zależą od Rails (w projekcie Rails, większość lub wszystkie z nich). rails_helper.rb
wymaga spec_helper.rb
. Więc nie, nie pozbądź się rails_helper.rb
; wymagaj tego (a nie spec_helper.rb
) w swojej specyfikacji.
Jeśli chcesz, aby non-Rails zależne od specyfikacje wymusić, że są one nie-Rails zależne i biec tak szybko, jak to możliwe po uruchomieniu je przez siebie, można wymagać spec_helper.rb
zamiast rails_helper.rb
w nich. Ale jest bardzo wygodne dla -r rails_helper
w twoim .rspec
, zamiast wymagać jednego pomocnika lub drugiego w każdym pliku specyfikacji, więc z pewnością będzie to popularne podejście.
Jeśli używasz preloadera sprężynowego, każda klasa musi być załadowana tylko jeden raz i spring loads classes eagerly even if you only run a single spec that requires spec_helper
, więc w niektórych plikach nie ma takiej wartości, która wymaga tylko spec_helper
.
Źródło: https://www.relishapp.com/rspec/rspec-rails/docs/upgrade#default-helper-files
Jakie dane wyjściowe mają produkty testowe, których wcześniej nie produkowały? (Może należeć do nowego pytania.) –
Nie jestem pewien co do terminologii, ale teraz testy przechodzą przez każdy klejnot, który daje mi długą listę rzeczy, których nie rozumiem i tylko wtedy pojawia się wynik. Wcześniej to tylko dało wynik. Skopiowałbym go tutaj, ale jest naprawdę długi ... – user3417583
To prawdopodobnie wycofanie RSpec 3. Jeśli nie możesz ich znaleźć w wynikach wyszukiwania lub z tego http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3, umieść je w nowym pytaniu. –