In unserer Rails 4.0-Anwendung mit MySql verwenden wir rspec zusammen mit dem Datenbank-cleaner konfiguriert mit Strategie: Transaktion, um unsere Datenbank für jeden Testfall zu bereinigen. Wenn wir benutzerdefinierte Transaktionen haben, die zurückgesetzt werden sollen, funktioniert es nicht.benutzerdefinierte Transaktion funktioniert nicht mit database_cleaner in rspec
Ohne database_cleaner Juwel und nur mit dem Standard-Weg:
config.use_transactional_fixtures = true
alles funktioniert wie aspected. Für das Ausführen von Feature-Tests mit JavaScript benötigen wir jedoch database_cleaner, um die Fixture Deletion-Strategie zu ändern: truncation.
Wie können wir database_cleaner zusammen mit benutzerdefinierten Transaktionen verwenden und warum unterscheidet es sich von der Standard-rspec-Transaktionsstrategie?
Ich bin sicher, dass Sie wissen: DatabaseCleaner.strategy =: Löschen/DatabaseCleaner.strategy =: Abschneiden, wie Sie es selbst erwähnen. Ich bin immer noch interessiert, wenn dies ein Problem innerhalb von database_cleaner ist: Transaktionsstrategie, oder wenn dies nur ein allgemeines Problem mit geschachtelten Transaktionen ist manchmal unerwartet verhält. –