Tôi đang ở trên Rails 3.2 và tôi đang sử dụng rspec (2.11.1). Khi tôi chạy bộ thử nghiệm của tôi với "rake spec" tôi nhận được thất bại. Khi tôi chạy nó với "rspec" mọi thứ đều trôi qua. Tôi đã nhìn thấy những đề cập khác của vấn đề này nhưng không có gì dứt khoát giải thích những gì đang diễn ra và thực hành tốt nhất là gì.Tôi có nên sử dụng "rake spec" hoặc "rspec" (không thể lấy "rake spec" để làm việc) không?
Nếu tôi làm "rake spec" hoặc "rake tmp: xóa & & rake spec" kiểm tra của tôi không thành công.
Nếu tôi thực hiện "rspec" hoặc "rspec spec" hoặc "rake db: test: hãy chuẩn bị & & rspec" kiểm tra của tôi vượt qua.
Tôi nghĩ rằng sự khác biệt duy nhất là rake đã làm "db: test: preparation" nhưng nếu tôi làm điều đó theo cách thủ công trước khi chạy rspec thì các bài kiểm tra của tôi vượt qua để không thể là tất cả câu chuyện.
Sau khi thực hiện một chút đọc, tôi đã thay đổi Gemfile của mình. Trước đây tôi đã thiết lập nó theo "Sách RSpec" (p328), nơi nó mô tả đặt viên ngọc rspec bên trong một khối "nhóm: phát triển,: thử nghiệm". Đã đọc một số bài viết SO khác mà tôi đã xóa ": phát triển" và đã thực hiện một gói. Bây giờ "rake spec" không làm gì cả. "rspec" vẫn hoạt động như trước.
Rất bối rối ...
thực hiện một số khảo sát thêm. với Gemfile theo cuốn sách rspec (với: phát triển,: test) chạy rspec sử dụng môi trường 'test' trong khi rake spec sử dụng môi trường 'development'. Không chắc chắn ngay bây giờ tại sao điều này là nhưng sẽ tiếp tục tìm kiếm ... – starfry
"RAILS_ENV = 'test' rake spec" hoạt động. Tôi đã dự kiến sẽ kiểm tra mặc định cho môi trường thử nghiệm mà không cần phải cụ thể ... – starfry
Câu trả lời của tôi đã bị xóa (lịch sự của @ bhargav-rao) như là một bản sao của http://stackoverflow.com/questions/15701298/rspec -spec-rake-spec-cung-khác nhau-kết quả/41877864 # 41877864 –