Tôi mới sử dụng các ứng dụng web Rails và RSpec. Tôi làm việc với mã kế thừa và cần thêm các bài kiểm tra. Vì vậy, cách tốt nhất để kiểm tra công cụ tìm và phạm vi được đặt tên với RSpec là gì?Đường ray: Kiểm tra phạm vi được đặt tên với RSpec
Tôi tìm thấy trong Google một vài cách tiếp cận nhưng chúng không lý tưởng. Ví dụ:
http://paulsturgess.co.uk/articles/show/93-using-rspec-to-test-a-named_scope-in-ruby-on-rails
it "excludes users that are not active" do
@user = Factory(:user, :active => false)
User.active.should_not include(@user)
end
hoặc
http://h1labs.com/notebook/2008/8/21/testing-named-scope-with-rspec
it "should have a published named scope that returns ..." do
Post.published.proxy_options.should == {:conditions => {:published => true}}
end
tôi tìm cách tiếp cận tốt nhất (IMHO) trong "đường sắt kiểm tra Đơn thuốc":
should_match_find_method :active_only { :active == true }
nơi should_match_find_method
phương thức trợ giúp tùy chỉnh
kiểm tra phạm vi thực sự mang tính kinh nghiệm và tôi gắn bó với phương pháp đầu tiên bạn vạch trần ở đây – apneadiving
Tôi đồng ý. Có gì sai với cách tiếp cận đầu tiên? Nó mô tả các hành vi thực sự thay vì kiểm tra (thực sự chỉ viết lại) có thể thiếu các tham số cấu hình. –
@RobDavis "có thể thiếu thông số cấu hình" +1 –