Wygenerowałem pewne rusztowanie dla aplikacji mojej szyny.Dlaczego moje testy funkcjonalne zawodzą?
Generuję wygenerowane testy i nie działają.
np
test "should create area" do
assert_difference('Area.count') do
post :create, :area => { :name => 'area1' }
end
assert_redirected_to area_path(assigns(:area))
end
Test ten zawodzi powiedzieć, że:
1) Brak: test_should_create_area (AreasControllerTest) [/test/functional/areas_controller_test.rb:16] "Area.count" nie zmieniło się o 1. < 3> oczekiwano, ale było < 2>.
W modelu występuje tylko jedno pole: nazwa. Zaludniam to, więc nie mogę, ponieważ nie udało mi się zaludnić jedynego pola.
Mogę uruchomić witrynę i utworzyć obszar o nazwie "area1". Rzeczywistość się powtarza, ale test się nie udaje.
Nie mogę zapytać, dlaczego to się nie udaje, ponieważ jestem pewien, że nie ma tutaj wystarczającej ilości informacji, aby ktokolwiek dowiedział się dlaczego. Po prostu utknąłem w wiedzy o tym, jakie są możliwości rozwiązania problemu, dlaczego test się nie udaje. Nawet umieszczanie kodu w kodzie nie jest drukowane ...
Co mogę zrobić, aby to sprawdzić?
Tutaj powinny być pomocne dane wyjściowe z pliku test.log, dzięki czemu można sprawdzić, czy rzeczywiście tworzony jest obszar lub czy jest jakiś błąd SQL, który jest spożywany. – jdl
Aaahh ... Ok, to pomaga. Test.log pokazuje mi, że test się nie udał, ponieważ nie jestem zalogowany. Ustawiłem go tak, aby tylko uwierzytelnieni użytkownicy mogli tworzyć obszary. Wszystko ma sens. Powinieneś udzielić tej odpowiedzi, aby ją zaakceptować! Dzięki –