Я буду защищать Fixture Replacement 2. Ваши атрибуты модели по умолчанию (не заботятся) сохраняются в одном месте, db/example_data.rb и обеспечивают быстродействующие объекты. Любые атрибуты, которые вы указываете при создании, переопределяют атрибуты по умолчанию - это означает, что данные, которые вы ухаживания, это в тесте, и ничего больше.
Данные вашего примера могут также относиться к другим моделям по умолчанию, которые представлены обработкой с задержкой оценки, поэтому вы можете легко отменить ассоциации при желании.
Версия 2 обеспечивает намного более четкий формат определения, при этом обеспечивая при этом магические методы new_*, create_*, and default_*
для каждой модели.
Я бы избегал любых схем «сценариев», которые поощряют создание все большего числа тестовых данных, которые трудно прочитать позже. Вы можете создавать именованные (пользовательские) объекты с помощью FR2, но я никогда не нашел в этом необходимости.
P.S. Удостоверьтесь, что вы также оцениваете свою стратегию тестирования . Светильники и все их аналоги являются реальными объектами, которые попадают в БД, что делает их функциональными или интеграционными. В настоящее время я использую RSpec для насмешки вместе с stub_model()
и последним камнем unit_record, чтобы запретить доступ к БД.
проголосовало за "девушку" – DFectuoso 2009-01-08 18:27:55