2009-10-29 27 views
19

tôi thường có thể thử nghiệm một phương pháp thử nghiệm :: Đơn vị thường xuyên sử dụng cú pháp dòng lệnh sau đây cho một phương pháp "delete_user_test":Làm thế nào để chạy một thử nghiệm bối cảnh shoulda duy nhất trong ruby ​​Test :: khuôn khổ Đơn vị

ruby functional/user_controller_test.rb -n delete_user_test 

Bây giờ khi tôi đang sử dụng plugin shoulda với test :: đơn vị tôi cố gắng sử dụng các kỹ thuật tương tự như sau:

... 
context "Deleting a User" do 
    should "remove user from user table" do 
    ... 
    end 
end 

sau đó, tôi cố gắng chạy thử nghiệm đơn như sau:

ruby functional/user_controller_test.rb -n "test: Deleting a User should remove user from user table" 

Điều này không hoạt động. Có ai biết làm thế nào tôi có thể chạy một thử nghiệm ngữ cảnh đơn bằng cách sử dụng shoulda và Test :: Unit. Tôi có một vài thử nghiệm khác nhau trong một tập tin thử nghiệm và tôi muốn chỉ chạy một trong những bằng cách sử dụng TDD mà không cần phải chờ đợi cho tất cả các bài kiểm tra để chạy.

Trả lời

33

này làm việc cho tôi:

ruby functional/user_controller_test.rb -n "/Deleting a User/" 

Chỉ cần đặt một số chuỗi hợp lý dài từ tên ngữ cảnh của bạn vào biểu thức chính quy.

+0

Tuyệt vời! Điều đó đã hiệu quả! Cảm ơn Milan. –

+7

không hoạt động với 'minitest' :( – asymmetric

+0

Cảm ơn siêu tuyệt vời tuyệt vời – Trip

4

Sử dụng tên đầy đủ của các thử nghiệm với một không gian ở cuối dường như làm việc quá:

ruby -Itest 
    functional/user_controller_test.rb 
    -n "test: Deleting a user should remove user from user table. " 
3

Kết hợp hai phương pháp đã làm việc tốt cho tôi; sử dụng cả hai -I test và regexp.

ruby -Itest functional/user_controller_teset.rb -n "/remove user from user table/" 
Các vấn đề liên quan