В нашем проекте Rails мы решили исключить приборы и использовать вместо них Factory_Girl для наших тестов. Мы программируем, используя TDD, поэтому у нас есть множество модульных и функциональных тестов (Test :: Unit). Приложение имеет 23 контроллера и 14 моделей, а это значит, что у нас много тестов.
Когда мы использовали приборы, тестирование было быстрее, но мы обнаружили, что их трудно поддерживать (так как наши модельные ассоциации начали расти).
Сегодня TDD становится очень трудным, так как запуск нашего полного набора тестов занимает около 50 секунд (возможно, это немного): - (
Это одна из крупнейших фабрик. Может быть, что-то не так с этим, что замедляет строительство объекта ...
Factory.define :content do |c|
c.sequence(:id) {|n| n }
c.title "Don't Make Me Think: A Common Sense Approach to Web Usability, 2nd Edition"
c.description "Plain"
c.privacy "private"
c.category_id 2
c.association :owner, :factory => :user
c.file_file_name "file.abc"
c.file_file_size 1024
c.file_content_type "application/zip"
c.cover_file_name "1.jpg"
c.cover_file_size 200
c.cover_content_type "image/jpeg"
c.created_at "2010-01-01 00:00:00"
c.opinions []
c.creators []
end
Любой, кто имеет опыт использования Factory_Girl, может рассказать нам, как сократить время тестирования? Может быть, мы можем кое-что улучшить в нашем определении заводов ...
Спасибо!
Пабло.