Llamar al bloque varias veces en Cucumber Around Hook (Ruby)

Estoy tratando de ejecutar un escenario varias (30) veces para obtener una buena muestra estadística. Sin embargo, el bloque solo se ejecuta una vez; cada vez subsiguiente hace que el escenario se llame y no se ejecute (aunque dice que el escenario se completó con éxito con un tiempo de alrededor de 5 ms).

Around('@mass_benchmark') do |scenario, block|
  $seconds_taken = "SECONDS TAKEN NOT SET"
  @time_array = []
  30.times do
    before_hook(scenario)
    block.call
    after_hook(scenario)
    @time_array << $seconds_taken
  end
  write_time_array_to_file(@time_array, scenario_name)
end

La etiqueta @mass_benchmark ejecuta este bloque, a diferencia de ~ @ mass_benchmark, que simplemente ejecuta el escenario normalmente. Los métodos before_hook y after_hook replican los ganchos Before ('~ @ mass_benchmark') y After ('~ @ mass_benchmark') (que en realidad solo llaman al mismo método).

La variable $ seconds_taken se establece alrededor del área específica para la que estoy cronometrando. No estoy sincronizando toda la prueba allí, solo una parte crítica de ella; el resto de la prueba está llegando a ese punto, etc., que no es parte de la parte cronometrada, por lo que no puedo mover la parte de temporización fuera de esta.

El problema puede ser con algo que estoy haciendo en esos métodos, pero por lo que puedo decir, todo funciona normalmente (como lo indican las declaraciones de venta bien colocadas). Cualquier idea es apreciada!