9

ツールまたは人間が実行できるテストスクリプトを生成するためにキュウリを使用しています...標準的な使用法ではありません。

ただし、シナリオと例の名前を出力に渡したいと思います。

これは可能ですか?

4

3 に答える 3

8

見つけた.. (Tim Walker の助けを借りて)

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

SExpression は異なる場合があるため、scenario.to_sexp.inspectそのツリーが何であるかを確認する価値があります。

Aslak は、彼のクラスでプロパティを公開することを避けたいと考えています (これはたまたま私が同意した決定なので、喜んでこの回避策を実行します)。

于 2009-03-21T12:18:47.260 に答える
2

より深刻な答え (または少なくとも提案): ルビーのリフレクションを利用して、探しているものを見つけようとします。可能性のあるオブジェクトをつかみ、それらが持つメソッドを見つけて、それを見つけることができるかどうかを確認してください。例えば:

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

そして、それを繰り返して、何がどこにあるのかを把握します。

別の提案、ソースを見てください。

于 2009-03-20T06:26:14.510 に答える
0

くだらないことをしました。この情報はデバッグのみに使用するため、より良いものが見つかるまで、これは今のところ機能します。

@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());
}
于 2014-04-22T09:17:33.040 に答える