[ruby] MiniTest에서 단일 테스트를 실행할 수 있습니까?

다음을 사용하여 모든 테스트를 단일 파일로 실행할 수 있습니다.

rake test TEST=path/to/test_file.rb

그러나 해당 파일에서 하나의 테스트 만 실행하려면 어떻게해야합니까?

비슷한 기능을 찾고 있습니다.

rspec path/to/test_file.rb -l 25



답변

rspec path / to / file.rb -l 25와 유사한 기능을 찾고 있습니다.

예! Nick Quaranto의 “m”gem을 사용하십시오 . 그것으로 당신은 말할 수 있습니다 :

m spec/my_spec.rb:25


답변

명령은 다음과 같아야합니다.

% rake test TEST=test/test_foobar.rb TESTOPTS="--name=test_foobar1 -v"


답변

시도해 보셨습니까?

ruby path/to/test_file.rb --name test_method_name


답변

보석이 필요하지 않습니다 :
ruby -Itest test/lib/test.rb --name /some_test/

출처 : http://blog.arvidandersson.se/2012/03/28/minimalicous-testing-in-ruby-1-9


답변

이것은 string name definition테스트에서 나를 귀찮게하는 것 중 하나입니다 .

당신이 가지고 있을때:

def test_my_test
end

테스트 이름을 항상 알고 있으므로 다음과 같이 실행할 수 있습니다.

ruby my_test -n test_my_test

그러나 다음과 같은 것이있을 때 :

it "my test" do
end

이 테스트의 이름이 실제로 내부적으로 어떻게 지정되는지 확실하지 않으므로 -n옵션을 직접 사용할 수 없습니다 .

이 테스트의 이름이 내부적으로 어떻게 지정되는지 알려면 옵션 만 있습니다. 전체 파일을 실행하여 로그를 살펴보십시오.

내 해결 방법은 다음과 같이 매우 독창적 인 테스트 이름에 무언가를 추가하는 것입니다.

it "my test xxx" do
end

그런 다음 ‘-n’매개 변수 의 RegEx 버전 을 사용하십시오 .

ruby my_test.rb -n /xxx/


답변

Rails 5+와 함께 MiniTest를 사용하는 경우 단일 파일에서 모든 테스트를 실행하는 가장 좋은 방법은 다음과 같습니다.

bin/rails test path/to/test_file.rb

그리고 단일 테스트 (예 : 25 행) :

bin/rails test path/to/test_file.rb:25

http://guides.rubyonrails.org/testing.html#the-rails-test-runner를 참조하십시오


답변

이것을 사용하여 단일 파일을 실행할 수 있습니다.

rake test TEST=test/path/to/file.rb

나는 또한 사용했다

ruby -I"lib:test" test/path/to/file.rb

더 나은 디스플레이를 위해.