Câu trả lời:
LƯU Ý:  Điều này không chạy thử nghiệm thông qua rake. Vì vậy, bất kỳ mã nào bạn có Rakefilesẽ KHÔNG được thực thi.
Để chạy thử nghiệm đơn, sử dụng lệnh sau từ thư mục chính của dự án rails của bạn:
ruby -I test test/unit/my_model_test.rb -n test_nameĐiều này chạy một thử nghiệm duy nhất có tên "tên", được định nghĩa trong lớp MyModelTest trong tệp được chỉ định. Test_name được hình thành bằng cách lấy tên kiểm tra, thêm vào đó bằng từ "kiểm tra", sau đó phân tách các từ bằng dấu gạch dưới. Ví dụ:
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
endBạn có thể chạy cả hai bài kiểm tra thông qua:
ruby -I test test/unit/my_model_test.rbvà chỉ thử nghiệm thứ hai thông qua
ruby -I test test/unit/my_model_test.rb -n test_invalid_with_bad_attributes0 tests, 0 assertions, 0 failures, 0 errors. Đường ray 3.0.7.
                    -n "/good/". Shell thoát luôn thú vị, vì vậy tôi có xu hướng gắn bó với các biểu thức đơn giản, nhưng nó dễ dàng hơn nhiều so với việc viết ra tên thử nghiệm đầy đủ mọi lúc.
                    test/thư mục. Ví dụ, nếu tôi muốn chạy thử nghiệm, activesupport/test/core_ext/array_ext_test.rbtôi nên ở trong activesupport/đầu tiên.
                    -n "/good/"đã làm việc.
                    Chạy một tệp thử nghiệm :
rake test TEST=tests/functional/accounts_test.rbChạy một thử nghiệm trong một tệp thử nghiệm:
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n /paid accounts/"(Từ nhận xét của @Puhlze.)
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n '/paid accounts/'"(kèm theo /paid accounts/dấu ngoặc đơn)
                    Đối với đường ray 5:
rails test test/models/my_model.rbbin/rails test test/models/user_test.rb:27
                    Nhờ @James, câu trả lời dường như là:
rails test test/models/my_model.rb:22Giả sử 22 là số dòng của bài kiểm tra đã cho. Theo đường ray giúp:
$ rails test --helpBạn có thể chạy thử nghiệm đơn bằng cách nối thêm số dòng vào tên tệp:
bin/rails test test/models/user_test.rb:27
Ngoài ra, xin lưu ý rằng bài kiểm tra của bạn nên kế thừa từ ActionDispatch :: IntegrationTest để điều này hoạt động (Đó là lỗi của tôi):
class NexApiTest < ActionDispatch::IntegrationTest
.
.
.Trong đường ray 5,
Tôi đã sử dụng cách này để chạy tệp thử nghiệm duy nhất (tất cả các thử nghiệm trong một tệp)
rails test -n /TopicsControllerTest/ -vxem tại đây https://stackoverflow.com/a/41183694/3626659
Để chạy thử nghiệm duy nhất trong bộ Rails thực tế:
bundle exec ruby -I"railties/test" actionpack/test/template/form_options_helper_test.rbĐó là một câu hỏi nửa đêm ngớ ngẩn của tôi. Rails vui lòng in lệnh mà nó đang thực thi rake test. Phần còn lại là một bài tập cắt và dán.
~/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"Cách tốt nhất là nhìn trực tiếp vào các hướng dẫn: http://guides.rubyonrails.org/contribution_to_ruby_on_rails.html#ricky-tests
cd actionmailer
bundle exec ruby -w -Itest test/mail_layout_test.rb -n test_explicit_class_layoutNếu bạn muốn chạy thử nghiệm đơn lẻ, bạn có thể chạy chúng dưới dạng tập lệnh Ruby thông thường
ruby actionmailer/test/mail_layout_test.rbBạn cũng có thể chạy toàn bộ bộ phần mềm (ví dụ: ActiveRecord hoặc ActionMailer) bằng cách cdvào thư mục và chạy rake testbên trong đó.
require File.join(File.dirname(__FILE__), '..', 'test_helper')
                    cd-ing in. Nói rõ hơn (Tôi không chắc là tôi có đọc sai điều này không, nhưng bạn đã nói "các tệp kiểm tra được tạo"), đây là cho chính thư viện Rails, không phải là một dự án Rails.
                    Đầu tiên, truy cập vào thư mục của lib bạn muốn kiểm tra (điều này rất quan trọng) và sau đó chạy:
~/Projects/rails/actionview (master)$ ruby -I test test/template/number_helper_test.rb Thư mục Rails
  bundle install
  bundle exec ruby -I"activerecord/test" activerecord/test/cases/relation/where_test.rb Lưu ý bạn cần tải thư mục thích hợp: "activerecord / test" (nơi bạn đã kiểm tra)