minitest是否提供了测试"指示?

时间:2016-07-13 13:15:14

标签: ruby unit-testing minitest testunit

在Rails中,我可以使用test关键字进行测试,我发现这些测试非常有吸引力,也是对Rspec的详细程度的最佳选择。

示例:

class TestMyClass < ActionController::TestCase
  test 'one equals one' do
    assert 1 == 1
  end
end

目前我正在创建一个gem,我希望按照相同的方式进行测试 - 使用test方法。我尝试继承Minitest和UnitTest,后者似乎有效。但是我觉得Rails使用的是Minitest。那么Minitest实际上提供了test指令吗?

这有效:

class TestMyClass < Test::Unit::TestCase
  test 'one equals one' do
    assert 1 == 1
  end
end

这给了我&#34;错误的测试参数数量&#34;:

class TestMyClass < Minitest:Test
  test 'one equals one' do
    assert 1 == 1
  end
end

1 个答案:

答案 0 :(得分:2)

不,Minitest运行名称从&#39; test _&#39;开始的普通方法。

ActionController :: TestCase中的方法test由Rails提供,作为&#39; test _ *&#39;的简单包装。方法。它会转换此

test 'truish' do
  assert true
end

到这个

def test_truish
  assert true
end

它还检查测试的主体是否已定义,如果不是,则会显示错误消息。