Если вы создаете большое приложение и не имеете команду, которая действительно хороша в написании развязанного кода, который может быть хорошо протестирован с помощью тестов черного ящика и готов полностью использовать использование/отладки большого количества макетов & заглушки, не спускайтесь по Фабричной дороге.
Где бы вы ни читали о том, как удивительные заводы Вы увидите небольшое предостережение о том, как фабрики могут оказаться невозможными в большом приложении, потому что они немного медленнее, чем светильники.
Но «немного медленнее» на самом деле на несколько порядков меньше.
Заводы не намного проще кодировать, чем светильники, которые используют метки для идентификаторов, при условии, что вы держите светильники организованными. И в некоторых случаях фабрики труднее отлаживать.
Только сегодня вечером я преобразовал единую фабрику в светильники, а время работы тестового файла, которое использовало ее, прошло от 65 секунд до 15 секунд, хотя только около 15% тестов в этом тестовом файле используют эту фабрику.
Если вы используете minitest, вы можете запускать свои тесты в случайном порядке; это быстро выявит связь данных между тестами. (не уверен, что rspec имеет возможность рандомизировать заказ на испытания)
Я полностью согласен webmat. Я действительно борюсь с пониманием синтаксиса RSpec, потому что у него столько синтаксического сахара. Он превращает обычные фразы в код, но потом вы выясните, что он должен делать! Кривая крутая, и я ленив. – srboisvert 2008-09-21 20:50:00