题
我使用黄瓜生成可以通过一个工具或人来执行测试脚本...所以不是标准使用。
但是我想通过我的输出通过场景和示例名称来传递。
这是可能的?
解决方案
找到它..(由添沃克一些帮助)
Before do |scenario|
puts "Before Scenario: #{scenario.to_sexp[2]}"
.
.
.
end
您SExpression可能会有所不同,所以这是值得做的一个scenario.to_sexp.inspect
看到树是什么。
Aslak是极力避免对他的课暴露一些属性(这是我碰巧有同意的决定,所以我很高兴各地做这项工作)。
其他提示
有一个更严重的答案(或至少,建议):利用Ruby的反思,试图找到你在找什么。抓住可能的对象,看看他们有什么样的方法,看看是否能找到它。例如:
File.open('happy_hunting.log','a') { |f|
f.print "Scenario supports: #{(scenario.methods - Object.methods).inspect}\n"
}
和然后重复它找出什么地方。
另一项建议,看看源。
我做了一些斗志旺盛。由于我使用的唯一的调试这个信息,这将会对现在的工作,直到我找到更好的东西。
@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());
}
不隶属于 StackOverflow