2011-11-11 15 views
6

Tôi đang sử dụng bảo vệ bằng rspec và dưa chuột. Để chạy các thông số kỹ thuật được chọn liên tục, tôi chỉ sử dụng thẻ focus để làm móng tay những gì tôi muốn làm việc.Chạy thông số được gắn thẻ hoặc TẤT CẢ nếu không có thẻ nào có sẵn

Nhưng vấn đề là tôi muốn chạy tất cả các thông số kỹ thuật nếu không có thông số kỹ thuật với thẻ đó.

Tôi có thể làm như thế nào?

LƯU Ý:: Tôi biết tất cả các tùy chọn RSpec. Vì vậy, vui lòng chỉ trả lời sau khi bạn đã đọc câu hỏi.

Trả lời

7

tôi đạt được hành vi mà bạn đã mô tả với các cấu hình sau:

# to run only specific specs, add :focus to the spec 
# describe "foo", :focus do 
# OR 
# it "should foo", :focus do 
config.treat_symbols_as_metadata_keys_with_true_values = true # default in rspec 3 
config.filter_run :focus => true 
config.run_all_when_everything_filtered = true 
+0

Uhha: 'run_all_when_everything_filtered'. Tuyệt vời và tuyệt vời. Cảm ơn. –

+1

Tôi chỉ tự hỏi liệu 'run_all_when_everything_filtered' có sẵn dưới dạng đối số dòng lệnh không? –

0

Bạn đã xem là sử dụng Autotest? Điều đó giúp bạn giảm được nhiều hành vi tương tự mà không cần thẻ.

+0

Tôi đã từng sử dụng nó. Nhưng Guard hoạt động tốt hơn cho tôi. –

+0

Ngoài sự tò mò, vấn đề với Autotest là gì? (Tôi đã sử dụng nó khá hạnh phúc trong một thời gian dài, và tôi đã không thực sự chơi xung quanh chưa với Guard.) –

+0

Không có gì sai với autotest. Cảnh sát chỉ cho tôi thêm một chút. Tôi có thể chạy rất nhiều thứ khác cùng với thông số kỹ thuật. –