如何在Cucumber中访问方案和示例名称?

时间:2009-03-19 23:14:59

标签: cucumber

我正在使用黄瓜生成可以由工具或人类执行的测试脚本......所以不是标准用途。

但是我想将方案和示例名称传递给我的输出。

这可能吗?

3 个答案:

答案 0 :(得分:8)

找到它......(在Tim Walker的帮助下)

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

您的SExpression可能会有所不同,因此值得做scenario.to_sexp.inspect来查看该树的内容。

Aslak热衷于避免在他的课堂上露出属性(这是我碰巧同意的决定,所以我很乐意做这个工作)。

答案 1 :(得分:2)

更严肃的回答(或者至少是建议):利用红宝石的反思来试图找到你想要的东西。抓住可能的对象,找出他们有什么方法,看看你是否能找到它。例如:

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

然后重复它以弄清楚哪里。

另一个建议,看看来源。

答案 2 :(得分: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());
}