Wdrożyliśmy go tak:
W Ogórek scenariusz „background” jest wykonywany przed każdym scenariuszu „” w pliku funkcji. Tak więc, w górnej części każdego pliku funkcji (w "tle") ustawiamy użytkownika i dajemy mu rolę administratora.
Dzięki temu użytkownik administracyjny jest gotowy i dostępny w każdym "scenariuszu".
Należy pamiętać, że ten administrator nie przeżyje w bazie danych z funkcji do funkcji, ponieważ Ogórek obsługuje rekordy w transakcjach. Jeśli więc chcesz dodać coś do tego administratora w jednej funkcji i użyć go z innej funkcji, ten sposób robienia tego nie nadaje się do użytku. Ale jak zrozumiałem twoje pytanie, po prostu chcesz się upewnić, że nie będziesz próbował utworzyć użytkownika admin, jeśli jest już utworzony. Utworzenie użytkownika admin w "tle" zapewnia, że jest on tworzony tylko raz dla każdej funkcji.
Pamiętaj, że zamiast tego możesz utworzyć administratora w każdym "scenariuszu". Ogórek usunie go z bazy danych na końcu "scenariusza", więc w dowolnym momencie będziesz mieć tylko jednego administratora. Nie jest to jednak DRY i nie powinno się tego robić (chyba, że potrzebujesz tylko administratora w niektórych "scenariuszach", a konkretnie, że nie jest on obecny w innych "scenariuszach").
ogórkiem 'background' przykład używając definicji kroku FactoryGirl: definicja
Background:
Given the following user exists:
| Name | Role |
| Admin | Administrator |
fabryczne:
factory :user do
name 'John Doe'
role 'Guest'
end
Czy to znaczy 'stworzyć nową instancję' zamiast 'utworzyć nową fabrykę'? Fabryka tworzy wystąpienia. –