Aufgrund einer alten Datenbank, die ich verwende, stehe ich mit MySQL fest und verwende MyISAM, was bedeutet, dass meine Tabellen keine Transaktionen unterstützen. Dies führt dazu, dass die Tests fehlschlagen, da die von den Tests generierten Tabellendaten (ich verwende factory_girl für Fixtures) nicht für jedes Szenario zurückgesetzt werden.Deaktivieren von transaktionalen Fixtures in Rspec hat keine Auswirkungen
Ich entdeckte, dass Rspec die Konfigurationseinstellung config.use_transactional_fixtures
in spec_helper.rb verfügbar macht.
, die standardmäßig auf true gesetzt ist. Wenn ich es auf false setze, sehe ich keinen Effekt auf meine Tests; Sie schlagen immer noch aufgrund von doppelten Datensätzen fehl.
Soll diese Einstellung nicht automatisch alle an der DB vorgenommenen Änderungen aufheben? Oder soll ich das manuell machen?
Cool, danke; Ich hatte den Eindruck, dass Rails das irgendwie automatisiert. –