Frage

SO Folk,

Wer um diese Teile, wenn Sie können Gurke halten von Testdaten am Ende eines Laufes Reinigung? Ich habe ein paar Tests, die zum Scheitern verurteilt weiter, und ich möchte einen Blick auf die Daten haben diese Tests sichern ...

Irgendwelche Ideen?

Danke! Cory Wilkerson

War es hilfreich?

Lösung

In Ihrer features/support/env.rb Datei gibt es einige Kommentare dazu. Wenn Sie möchten, um die Datenbank nach einem bestimmten Szenario dann nicht Roll-Back fügen Sie den @no-txn-Tag auf das Szenario beendet ist. Sie erhalten dann die db selbst reinigen müssen. Der einfachste Weg ist es, eine db:test:clone zu tun.

Der beste Weg, um Ihre Probleme zu beheben wäre, die Problemszenarien einzeln und sehen laufen, wie jeder versagt. Wenn Sie einen Lauf zu tun und haben Szenarien Daten in der DB verlassen dann werden Sie sich alle Arten von Problemen verursachen. Sobald Sie das Szenario festgelegt haben, dann tun ein db:test:clone, bevor Sie auf die nächste Arbeit oder machen einen Lauf.

Andere Tipps

Hier ist die Definition für den Debug-Schritt, den ich im Kommentar zu Sam Livingston-Gray erwähnt:

When /I want to debug/i do
  debugger
  true # never put debugger at the end of a method
end

Ein bisschen hackish, aber als letzter Ausweg, vielleicht könnten Sie einen Dann Block hinzufügen „Dann Pause Tests“ genannt, dass entweder stoppt oder eine Abfrageschleife geht in und wird nicht fortgesetzt, bis es eine Bedingung Änderung sieht (zB Sie berühren /features/continue.txt)?

Stick „Dann Pause Tests“ im Test, den Sie wollen, zu betrachten, und Sie haben eine Art und Weise bekommen die Datenbank zu überprüfen, bevor es weitergeht. Natürlich funktioniert dies nicht, wenn Cucumber Datenbank-Transaktionen verwendet ...

(Sorry für die Unbestimmtheit;. Es ist eine Weile her, seit ich das letzte Mal Gurke verwendet)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top