2011-07-17 29 views
5

Cố gắng chuyển một số đối số đến rspec, nhưng không tìm thấy bất kỳ tùy chọn dòng lệnh thích hợp nào cho mục đích. Tôi có thể sử dụng biến môi trường cho điều đó, nhưng không chắc chắn đó là cách tốt nhất (và minh bạch nhất) để định cấu hình các thử nghiệm.Có cách nào để chuyển đối số dòng lệnh tới spec/rspec không?

Vì vậy, làm cách nào tôi có thể chuyển đối số dòng lệnh? Nếu không thể - đó là lựa chọn tốt nhất và được chấp nhận nhất?

+0

Tôi nghĩ điều đó là không thể - http://groups.google.com/group/rspec/browse_thread/thread/aa06395242dd7aae/c1ae10d2ad4dc33a?lnk=raot&pli=1 –

+0

nhìn thấy nó - vậy, cách tốt nhất để làm điều đó là gì? biến môi trường? làm thế nào họ có thể được theo dõi hơn? nên tôi bọc 'rspec' với một kịch bản lệnh shell nhận đối số và đẩy nó vào biến môi trường? âm thanh sai, huh. nên có một cách (tôi nghĩ) hoặc phải có một lý do mà chức năng như vậy không tồn tại trên mục đích. – BreakPhreak

+1

Thay vì hỏi "làm cách nào để chuyển đối số dòng lệnh tới RSpec?", Có thể đáng để cho chúng tôi biết lý do bạn muốn thực hiện điều đó và sau đó chúng tôi có thể giúp bạn xem liệu có cách nào tốt hơn không. Cần phải vượt qua tùy chọn dòng lệnh tùy ý cho một chương trình ngăn chặn thiết kế kém. –

Trả lời

2

Một cách sạch sẽ để thực hiện việc này là thêm thẻ cho các tùy chọn của bạn, mặc dù điều này có thể không hoạt động trong trường hợp của bạn.

rspec --tag sleep_5_seconds 

Và sau đó trong spec_helper.rb bạn

RSpec.configure do |c| 
    before(:each, :sleep_5_seconds => true) do 
    setup_5_second_sleep 
    end 
end 

Mã này đã không được chạy, nhưng đó là khái niệm. Bạn cũng có thể làm điều đó với một khối xung quanh nếu bạn cần phải thiết lập và teardown dựa trên biến.

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