Minitest :: Spec语法慢吗? (与ActiveSupport :: TestCase相比)

时间:2019-04-17 23:28:02

标签: ruby-on-rails ruby minitest

我一直在比较使用普通ActiveSupport::TestCaseMinitest::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秒内完成

差距如此之大,我不愿意做一个合适的板凳...但是我想知道是否/应该如何处理 互联网上的经验?

0 个答案:

没有答案