답변:
참고 : 이 테스트는를 통해 실행되지 않습니다 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
0 tests, 0 assertions, 0 failures, 0 errors
. 레일 3.0.7.
-n "/good/"
. 쉘 이스케이프는 항상 재미 있기 때문에 간단한 정규 표현식을 사용하는 경향이 있지만 항상 전체 테스트 이름을 작성하는 것보다 훨씬 쉽습니다.
test/
폴더 를 포함하는 서브 디렉토리에 있어야 합니다. 예를 들어, 테스트를 실행하려면 먼저 시작 activesupport/test/core_ext/array_ext_test.rb
해야합니다 activesupport/
.
-n "/good/"
일했다.
테스트 파일을 실행하십시오 .
rake test TEST=tests/functional/accounts_test.rb
테스트 파일에서 단일 테스트 를 실행하십시오 .
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n /paid accounts/"
(@Puhlze의 의견에서)
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n '/paid accounts/'"
( /paid accounts/
작은 따옴표로
레일 5의 경우 :
rails test test/models/my_model.rb
bin/rails test test/models/user_test.rb:27
@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
가장 좋은 방법은 가이드를 직접 살펴 보는 것입니다. http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html#running-tests
cd actionmailer
bundle exec ruby -w -Itest test/mail_layout_test.rb -n test_explicit_class_layout
단일 테스트를 실행하려면 일반 Ruby 스크립트로 실행하면됩니다.
ruby actionmailer/test/mail_layout_test.rb
cd
디렉토리에 rake test
들어가서 내부에서 실행하여 전체 제품군 (예 : ActiveRecord 또는 ActionMailer)을 실행할 수도 있습니다.
require File.join(File.dirname(__FILE__), '..', 'test_helper')
cd
-ing in은 작동합니다. 명확하게하기 위해 (이 글을 잘못 읽었는지 확실하지 않지만 "생성 된 테스트 파일"이라고 말한 경우) Rails 라이브러리가 아닌 Rails 프로젝트를위한 것입니다.
레일즈 폴더
bundle install
bundle exec ruby -I"activerecord/test" activerecord/test/cases/relation/where_test.rb
적절한 폴더를로드해야합니다 : "activerecord / test"(테스트 할 위치)