Frage

Ich bin mit Gurke Testskripte zu erzeugen, die durch ein Werkzeug oder menschliche ausgeführt werden kann ... so nicht die Standard-Anwendung.

Allerdings würde Ich mag das Szenario und Beispielnamen durchlaufen bis zur meiner Ausgabe.

Ist das möglich?

War es hilfreich?

Lösung

Found it .. (mit etwas Hilfe von Tim Walker)

Before do |scenario|
 puts "Before Scenario: #{scenario.to_sexp[2]}"
 .
 .
 .
end

können Ihre SExpression unterscheiden, so dass es lohnt sich, einen scenario.to_sexp.inspect tun, um zu sehen, was der Baum ist.

Aslak ist sehr daran interessiert Eigenschaften auf seine Klassen auszusetzen zu vermeiden (die eine Entscheidung, die ich mit einigen passieren, also bin ich glücklich, diese Arbeit zu tun, um).

Andere Tipps

Eine ernstere Antwort (oder zumindest Vorschlag): Verwendung von Rubys Reflexion machen, um zu versuchen zu finden, was Sie suchen. Schnappen Sie wahrscheinlich Objekte, herauszufinden, welche Methoden sie haben, und sehen, ob Sie es finden können. Zum Beispiel:

File.open('happy_hunting.log','a') { |f|
    f.print "Scenario supports: #{(scenario.methods - Object.methods).inspect}\n"
    }

und wiederholen Sie es dann, um herauszufinden, was, wo.

Ein weiterer Vorschlag, Blick auf die Quelle.

Ich habe etwas lückenhaft. Als ich diese Informationen nur für das Debuggen verwenden, wird dies jetzt arbeiten, bis ich etwas besseres finden.

@Before
public void printTestInfoBeforeScenario(Scenario scenario) {
    LOGGER.info("Upcoming Test: "+scenario.getSourceTagNames());
}

@After
public void printTestInfoAfterScenario(Scenario scenario) {
    LOGGER.info("Test Complete: " + scenario.getSourceTagNames() + " Status: " + scenario.getStatus());
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top