我正在为Rails应用程序编写黄瓜和水豚测试。 我已使用标记“dependent”标记了不同功能文件中的一些方案。
我写了一个hooks.rb文件,它位于支持目录下。我想让if
块只执行一次,即使我有多个“依赖”标记的场景。
Before('@dependent') do
$dunit ||= true
if $dunit then
puts "Hey I am running now "
$dunit = false
end
end
就我而言,声明,
puts "Hey I am running now "
...当我使用“依赖”标记从多个要素文件中运行多个场景时,会多次执行。
如何让puts "Hey I am running now "
只执行一次?
答案 0 :(得分:0)
每次块启动时,您都会将$ dunit的值重置为true,因为false || true == true。如果你重写下面的块,它应该工作
Before('@dependent') do
$dunit ||= false
return $dunit if $dunit
puts "Hey I am runnig now "
$dunit = true
end