我一直在比较使用普通ActiveSupport::TestCase
和Minitest::Spec
编写测试的运行时间
采用以下示例:
class MyDecoratorTest < Minitest::Spec
describe('#human_duration') do
before do
@runner = build_stubbed(:runner, { status: 'completed', duration: 121 })
@decorator = MyDecorator.new(@booking)
end
it('is TBA when #completed? falsey') do
@decorator.stubs({ completed?: false })
assert_equal('TBA', @decorator.human_duration)
end
it('is properly displayed when #compelted? truthy') do
assert_equal('121 min (2 hours and 1 min)', @decorator.human_duration)
end
end
end
与
class MyDecoratorTest < ActiveSupport::TestCase
setup do
@runner = build_stubbed(:runner, { status: 'completed', duration: 121 })
@decorator = MyDecorator.new(@booking)
end
test('is TBA when #completed? falsey') do
@decorator.stubs({ completed?: false })
assert_equal('TBA', @decorator.human_duration)
end
test('is properly displayed when #completed truthy') do
assert_equal('121 min (2 hours and 1 min)', @decorator.human_duration)
end
end
Minitest::Spec
在约0.9秒内完成
ActiveSupport::TestCase
在约0.4秒内完成
差距如此之大,我不愿意做一个合适的板凳...但是我想知道是否/应该如何处理 互联网上的经验?