我正在使用黄瓜生成可以由工具或人类执行的测试脚本......所以不是标准用途。
但是我想将方案和示例名称传递给我的输出。
这可能吗?
答案 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());
}