gitlab-org--gitlab-foss/spec/lib/gitlab/import_export/duration_measuring_spec.rb

36 lines
770 B
Ruby

# frozen_string_literal: true
require 'fast_spec_helper'
RSpec.describe Gitlab::ImportExport::DurationMeasuring do
subject do
Class.new do
include Gitlab::ImportExport::DurationMeasuring
def test
with_duration_measuring do
'test'
end
end
end.new
end
it 'measures method execution duration' do
subject.test
expect(subject.duration_s).not_to be_nil
end
describe '#with_duration_measuring' do
it 'yields control' do
expect { |block| subject.with_duration_measuring(&block) }.to yield_control
end
it 'returns result of the yielded block' do
return_value = 'return_value'
expect(subject.with_duration_measuring { return_value }).to eq(return_value)
end
end
end