Ответ 1
Если вы считаете, что область слишком проста для тестирования, вы можете ее игнорировать, но если вы думаете о тестировании областей, я бы сказал вам посмотреть этот ответ и фокусируется на тестировании поведения, а не на самом коде.
Я немного разорван. Имеют ли модульные тесты для Scopes в Rails 3?
С одной стороны, я пишу код, и я должен проверить этот код.
Однако, с другой стороны, в основном все мои области действия тривиальны. Проверка одной переменной по сравнению с переданным параметром в значительной степени является самой сложной областью, которую я имею до сих пор.
scope :author, proc { |author| where(:author_user_id => author }
Этот код является тривиальным и более или менее охватывается функциями, которые фактически используют USE области.
Каковы наилучшие методы тестирования или не проверки областей?
Если вы считаете, что область слишком проста для тестирования, вы можете ее игнорировать, но если вы думаете о тестировании областей, я бы сказал вам посмотреть этот ответ и фокусируется на тестировании поведения, а не на самом коде.
Дэвид Челимски (создатель Rspec) предложил следующий пример в Rspec Google Group:
describe User, ".admins" do
it "includes users with admin flag" do
admin = User.create! :admin => true
User.admin.should include(admin)
end
it "excludes users without admin flag" do
non_admin = User.create! :admin => false
User.admin.should_not include(non_admin)
end
end
class User < ActiveRecord::Base
named_scope :admins, :conditions => {:admin => true}
end
Это, очевидно, не тот пример, что и у вас, но он должен дать вам представление о том, как это сделать. Соответствующий поток для контекста находится здесь: http://groups.google.com/group/rspec/browse_thread/thread/6706c3f2cceef97f