Wie deaktiviere ich transaktionale Fixtures für nur eine Spec (oder Steak-Szenario) mit RSpec 2? Ich habe einige Dinge im Internet ohne Erfolg versucht.Transaktionäre Fixtures für eine Spec mit RSpec deaktivieren 2
Dies führt zu einer nicht definierten Methodenausnahme.
describe "MyClass without transactional fixtures" do self.use_transactional_fixtures = false ... end
Dieses einfach nichts tut (Transaktionsbefestigung noch eingeschaltet ist):
describe "MyClass without transactional fixtures" do RSpec.configure do |config| config.use_transactional_fixtures = false end ... end
Was könnte ich versuchen?
ist es wirklich verdrahtet, das zu wollen. weil Sie nicht wissen können, was Sie in Ihrer Datenbank haben. – shingara
Ich hoffe, das stimmt auch nicht für deinen Code ;-) Aber im Ernst, für einige Testszenarien musst du die transaktionalen Fixtures deaktivieren. Zum Beispiel, wie in meinem Fall, Thinking Sphinx zu testen. Sphinx muss den Suchindex von "draußen" aktualisieren. Daher muss der Datenbankinhalt zu einem bestimmten Zeitpunkt bekannt sein. – Zardoz
Nur eine Sache zu beachten; Zumindest in meiner Umgebung (Rails4 rspec 2), wenn Sie aus irgendeinem Grund die rspec/rails_helper in einer Ihrer RSPEC-Dateien enthalten, wird jeder Test danach in der Suite oder in nachfolgenden Dateien erneut ausgeführt. –