Mam 30 specyfikacji w moim pliku foo_controller_spec.rb, a po uruchomieniu całego pliku przy użyciu specyfikacji otrzymuję 4 niepowodzenia i 2 oczekujące. Kiedy uruchomię 4 niesprawne specyfikacje indywidualnie, 3 z nich nadal się nie powiedzie, ale jeden z nich mija. Na początku myślałem, że to problem z bazą danych, że dane nie były prawidłowo usuwane między kolejnymi uruchomieniami. Więc zainstalowałem database_cleaner (http://github.com/bmabey/database_cleaner) i dodaje ten kod do mojego spec_helper:indywidualna specyfikacja przechodzi po uruchomieniu, ale kończy się niepowodzeniem, gdy wszystkie specyfikacje są uruchomione.
config.before(:suite) do
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.start
Sham.reset
login
end
config.after(:each) do
DatabaseCleaner.clean
end
Teraz gdy uruchamiam moje widowisko widzę, że tabele są obcinane pomiędzy każdym ciemno, więc wiem, że to działa, ale spec nadal nie po uruchomieniu ze wszystkimi innymi specyfikacjami, ale przechodzi, gdy jest uruchamiany sam. Czego tu mi brakuje?
Dobra poprawka! Miałem ten sam problem i odkryłem, że "włącz Foo" poza jakimkolwiek blokiem opisu czyni te metody dostępnymi dla wszystkich specyfikacji. Powodowało to błąd podczas uruchamiania pakietu jako całości. – r00k
jak mogę to przetestować z Sublime Text i moim terminalem? – Ricbermo