2016-07-13 15 views
1

Railsでは、私のテストにはtestというキーワードを使うことができます。私は非常に魅力的で、Rspecの冗長さにはより良い選択肢があります。minitestは "test"ディレクティブを提供していますか?

例:

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

私は宝石を作成していますし、私は私のテストのために同じ方法をフォローしたい瞬間 - test方法を使用することによって。私はMinitestとUnitTestから継承してみました。後者は動作するようです。しかし、私はRailsがMinitestを使用しているという印象を受けました。 Minitestは実際にtestディレクティブを提供していますか?

これは動作します:名前は 'TEST_' から始まって

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

答えて

2

いいえ、Minitestは通常のメソッドを実行します:

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

これは私の "テストの引数の数が間違っ" を与えます。

Method test ActionController :: TestCaseはRailsによって提供され、 'test_ *'メソッドの単純なラップとして機能します。それはまた、テストの本体を定義した場合、それがなかった場合、それはエラーメッセージを表示しますチェックこの

def test_truish 
    assert true 
end 

この

test 'truish' do 
    assert true 
end 

を変換します。

関連する問題