2012-02-20 29 views
29

Tôi thích chạy các thử nghiệm Rspec bằng Spork đang chạy trong một tab riêng biệt. Tôi thường chạy thử nghiệm của mình bằng cách sử dụng rspec spec, theo đó tôi định nói "tìm kiếm đệ quy và chạy mọi thứ trong thư mục spec".Làm cách nào để chạy Rspec chạy tất cả các kiểm tra được lồng trong thư mục?

Gần đây tôi đã nhận ra rằng điều này không thực sự chạy tất cả các thử nghiệm của tôi. Bây giờ tôi có một tập tin đặc biệt trong spec/requests mà không được chạy. Tôi biết điều này vì tôi đã chỉnh sửa một trong các bài kiểm tra để đưa ra lỗi và chạy như sau:

  • rspec spec - không có lỗi.
  • rspec spec/requests - vẫn không có lỗi được nêu ra và 0 examples, 0 failures!
  • rspec spec/requests/my_controller.rb - bingo. 17 examples, 1 failure và lỗi có thông báo lỗi của tôi.

Tại sao Rspec không tìm thấy tất cả các tệp thử nghiệm của tôi? Đây có phải là vấn đề về cấu hình hay không hoặc tôi có cần sử dụng lệnh khác để chạy thử nghiệm của mình không?

Tôi cần phải chạy tất cả các bài kiểm tra cùng một lúc để đảm bảo rằng tôi không giới thiệu các phép hồi quy.

(Không sử dụng Spork làm cho không có sự khác biệt, bằng cách này.)

Trả lời

57

RSpec nên đã tìm kiếm đệ quy qua thư mục mà bạn đặt tên và tìm thấy tất cả các bài kiểm tra. Tuy nhiên, lưu ý rằng nó đang tìm kiếm các tệp kết thúc bằng _spec.rb. Có thể một số tệp của bạn không được đặt tên chính xác?

Nếu bạn cần cụ thể hơn về những tệp cần tìm, bạn cũng có thể sử dụng tùy chọn --pattern. Ví dụ: rspec --pattern spec/requests/*_spec.rb. (Option --pattern bằng -P. Taken từ rspec --help)

1

bạn có thể tạo một nhiệm vụ cào

desc "Run PCMag tests" 
    RSpec::Core::RakeTask.new('test') do |t| 
    t.rspec_opts = ["-Ilib","--format documentation","--color"] 
    t.pattern = ['spec/test/*.rb'] 
end 

Sau đó, thực hiện kiểm tra lệnh cào.

Lệnh trên sẽ thực thi tất cả các kiểm tra .rb trong thư mục 'test'

Vui lòng kiểm tra liên kết sau để biết thêm chi tiết.

http://testautomationarchives.blogspot.in/2013/10/rspec-rake-framework-in-ruby-with.html

Các vấn đề liên quan