Rails 테스트 스위트에서 단일 테스트를 어떻게 실행할 수 있습니까?
rake test ANYTHING
도움이되지 않는 것 같습니다.
답변
참고 : 이 테스트는를 통해 실행되지 않습니다 rake
. 따라서 가지고있는 코드는 Rakefile
실행되지 않습니다.
단일 테스트를 실행하려면 rails 프로젝트의 기본 디렉토리에서 다음 명령을 사용하십시오.
ruby -I test test/unit/my_model_test.rb -n test_name
지정된 파일의 MyModelTest 클래스에 정의 된 “name”이라는 단일 테스트를 실행합니다. test_name은 테스트 이름 앞에 “test”라는 단어를 붙인 다음 밑줄로 단어를 구분하여 구성됩니다. 예를 들면 다음과 같습니다.
class MyModelTest < ActiveSupport::TestCase
test "valid with good attributes" do
# do whatever you do
end
test "invalid with bad attributes" do
# do whatever you do
end
end
다음을 통해 두 가지 테스트를 모두 실행할 수 있습니다.
ruby -I test test/unit/my_model_test.rb
그리고 두 번째 테스트를 통해
ruby -I test test/unit/my_model_test.rb -n test_invalid_with_bad_attributes
답변
테스트 파일을 실행하십시오 .
rake test TEST=tests/functional/accounts_test.rb
테스트 파일에서 단일 테스트 를 실행하십시오 .
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n /paid accounts/"
(@Puhlze의 의견에서)
답변
레일 5의 경우 :
rails test test/models/my_model.rb
답변
@James 덕분에 답은 다음과 같습니다.
rails test test/models/my_model.rb:22
22는 주어진 테스트의 줄 번호라고 가정합니다. 레일즈 도움에 따르면 :
$ rails test --help
파일 이름에 줄 번호를 추가하여 단일 테스트를 실행할 수 있습니다.
bin/rails test test/models/user_test.rb:27
또한 테스트가 ActionDispatch :: IntegrationTest에서 상속되어야합니다.
class NexApiTest < ActionDispatch::IntegrationTest
.
.
.
답변
레일 5에서
이 방법으로 단일 테스트 파일을 실행했습니다 (모든 파일을 하나의 파일로)
rails test -n /TopicsControllerTest/ -v
답변
실제 Rails 제품군에서 단일 테스트를 실행하려면
bundle exec ruby -I"railties/test" actionpack/test/template/form_options_helper_test.rb
답변
그것은 내 바보 같은 자정 문제였습니다. Rails는 실행중인 명령을 친절하게 인쇄합니다 rake test
. 나머지는 잘라 붙여 넣기 운동입니다.
~/projects/rails/actionpack (my2.3.4)$ ruby -I"lib:test" "/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/controller/base_test.rb"
