我正在为Rails应用程序编写cucumber和水豚测试。我已经用标记“dependent”标记了不同功能文件中的一些场景。
我已经编写了一个位于support目录下的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 "
…当我从带有“dependent”标记的多个功能文件中运行多个场景时,会执行多次。
我怎样才能让只执行一次“Hey I am running now”
?
自false||true==true以来,每当块开始时,您都会将$dunit的值重置为true。如果你像下面这样重写块,它应该可以工作
Before('@dependent') do
$dunit ||= false
return $dunit if $dunit
puts "Hey I am runnig now "
$dunit = true
end