2014-11-07 2 views
2

이 질문이 전에 제기되었는지 알려지지 않으므로 알려주십시오.레일 4 가장 작은 태그

Minitest는 태깅 테스트 케이스를 지원하므로 매번 모든 테스트를 실행하거나 특정 테스트 그룹을 함께 실행 (또는 일부 생략)하지 않아도됩니까?

나는 다음과 같은 사용하지 않으 :

ruby -Itest test/lib/foo/bar_test.rb --name=test_bar_should_be_delicious

아마 원숭이가 패치를 할 수 Minitest.I로 사용되고 --tag 또는 --only와 위 같은 것을 가지고 좋은 것입니다하지만, 나는 이미 존재하는 것이 있는지 알고 싶다.

답변

3

몇 가지 옵션이 있습니다. 먼저 레일 테스트 작업을 사용하여 특정 테스트 파일을 실행할 수 있습니다.

$ rake test test/lib/foo/bar_test.rb 

그러면 파일의 모든 테스트가 실행됩니다. 특정 테스트를 실행하려면 실행하려는 테스트 행을 지정할 수있는 minitest-line gem을 추가하면됩니다. 이 보석에는 Minitest 5가 필요하므로 레일 4.1+ 이상이 필요합니다.

$ ruby -Itest test/lib/foo/bar_test.rb -l 12 

이 레일 테스트 작업과 작동하거나하지 않을 경우이 같은 작업을 수행 할 수 있습니다, 그래서 내가 모르는 :

$ rake test test/lib/foo/bar_test.rb TESTOPTS="-l 12" 

내가 쉽게 사용하는 것입니다 생각하는 또 다른 방법 minitest-focus 보석. focus으로 실행하려는 테스트에 주석을 달기 만하면 테스트가 실행됩니다. 명령 줄 인수를 사용하지 않아도됩니다.

class Foo::BarTest < Minitest::Test 
    focus 
    def test_bar_should_be_delicious 
    assert "delicious" 
    end 
end 

그런 다음 정상적으로 실행하는 것처럼 테스트를 실행하십시오.

$ rake test 
+0

'minitest-focus'는 내 현재 요구 사항에 맞춰서 고안된 것 같습니다. :-) – Abdo