Ostatnio przełączyłem się z urządzeń na factory_girl, aby przetestować aplikację Ruby on Rails. Jeśli uruchomię test rake: jednostki, aby uruchomić testy w moim katalogu/units, wszystkie działają idealnie. To samo dotyczy wykonywania testów funkcjonalnych (w moim/katalogu funkcjonalnym) z testem rake: functionals.Czyszczenie testowej bazy danych między jednostkami i testami funkcjonalnymi w Railsach (factory_girl)
Jednakże, jeśli po prostu uruchomię test prowizji, aby uruchomić zarówno moją jednostkę, jak i testy funkcjonalne, moja walidacja zakończy się niepowodzeniem w drugiej grupie testów (funkcjonalnych, w tym przypadku), z komunikatem "Sprawdzanie poprawności nie powiodło się: Nazwa już został zabrany."
Uważam, że jest to spowodowane testami funkcjonalnymi tworzącymi obiekty o takich samych parametrach jak obiekty, które zostały utworzone w testach jednostkowych - prowadząc mnie do przekonania, że testowa baza danych nie została wyczyszczona między jednostką a testami funkcjonalnymi .
Używam sekwencjonowania factory_girl, aby mieć unikalne atrybuty dla obiektów, co oznacza, że factory_girl jest resetowany między testami, podczas gdy baza danych nie jest. Co mogę zrobić, aby rozwiązać ten problem? Czy istnieje sposób na wyczyszczenie bazy danych między dwoma pakietami testowymi?
znalazłeś jakieś rozwiązanie tego problemu? Mam dokładnie to samo. Z jakiegoś powodu sekwencje fabryczne są resetowane między testami funkcjonalnymi i jednostkowymi. – sandstrom