W naszej aplikacji Rails 4.0 używającej MySql używamy rspec razem z gemem database_cleaner skonfigurowanym ze strategią: transakcja do czyszczenia naszej bazy danych dla każdego przypadku testowego. Jeśli mamy niestandardowe transakcje, które powinny być wycofane, to nie działa.Niestandardowa transakcja nie działa z database_cleaner w rspec
Bez database_cleaner klejnot i tylko przy użyciu standardowego sposobu:
config.use_transactional_fixtures = true
wszystko działa jak aspected. Ale do uruchamiania testów cech z JavaScriptem potrzebujemy database_cleaner, aby zmienić strategię usuwania fixingu na: przycinanie.
Jak korzystać z database_cleaner razem z transakcjami niestandardowymi i dlaczego różni się od standardowej strategii transakcji rspec?
Jestem pewien, że wiesz o: DatabaseCleaner.strategy =: deletion/DatabaseCleaner.strategy =: skrócenie, o czym wspomniałeś sam. Wciąż mnie to interesuje, jeśli jest to problem w strategii database_cleaner: transakcja, lub jeśli jest to tylko ogólny problem z zagnieżdżonymi transakcjami, które czasami zachowują się nieoczekiwanie. –