module TestRecorder::Rails::SetupAndTeardown

Attributes

headless[R]
video_dir[R]

Public Instance Methods

before_setup() click to toggle source
Calls superclass method
# File lib/test_recorder/rails/setup_and_teardown.rb, line 9
def before_setup
  @video_dir = ::Rails.root.join("tmp", "videos")
  FileUtils.mkdir_p(video_dir)

  # TODO: Allow configuring parameters.
  @headless = Headless.new(video: { provider: :ffmpeg, codec: :libx264, extra: %w(-preset ultrafast) })
  headless.start
  headless.video.start_capture

  super
end
before_teardown() click to toggle source
Calls superclass method
# File lib/test_recorder/rails/setup_and_teardown.rb, line 21
def before_teardown
  if failures.empty?
    headless.video.stop_and_discard
  else
    video = video_dir.join("failures_#{self.name}.mp4")
    headless.video.stop_and_save(video)
    puts "[Video]: #{video}"
  end
ensure
  super
end