Генерировать только тесты из существующих моделей/контроллеров
У меня есть приложение Rails3, основанное на чьей-то работе. По какой-то причине они решили не доставлять тесты с помощью приложения, которое я нахожу расстраивающим.
То, что я хочу сделать, - это подгонять тесты для всех существующих контроллеров и моделей, чтобы я мог начать старт тестов самостоятельно в test:: unit. Я не хочу воссоздавать модели или контроллеры, просто создайте тесты.
Я новичок в Rails и охотился за командой rake, которая могла бы это сделать, но до сих пор не повезло. Любые советы/направление, которые наиболее ценятся.
Ответы
Ответ 1
Я знаю, что это немного старо, но вы можете это сделать:
rails g scaffold Post -s
-s
позволяет пропустить уже созданные файлы. Кроме того, если вы не используете флаг, он просто спрашивает вас, хотите ли вы переопределить файл, поэтому не беспокойтесь.
Ответ 2
Чтобы создавать только связанные тестовые файлы для существующего приложения Rails 3, я использую "сгенерировать ресурс", но пропускаю все, что мне не нужно:
rails g resource Post --skip --no-resource-route --no-migration --no-helper --no-assets
Другие параметры можно найти, используя rails generate resource --help
-s, [--skip] # Skip files that already exist
--resource-route # Indicates when to generate resource route
[--helper] # Indicates when to generate helper
[--assets] # Indicates when to generate assets
[--migration] # Indicates when to generate migration
Почему бы не использовать generate scaffold
? Потому что он может генерировать представления, которые я не использую.
Ответ 3
Нет никакого способа сделать это, о котором я знаю. Было бы довольно легко, хотя бы просто создать временный проект рельсов и создать строительные леса для всех ваших моделей, а затем скопировать полученный тестовый каталог в реальный проект.
т.е.
rails new temporary
cd temporary
rails g scaffold Post title:string body:text
rails g scaffold Comment post:references author:string body:text
cp -r test ../real_rails_app/
и др.
Этот ответ теперь устарел. Обновленные версии рельсов позволяют создавать только отсутствующие файлы с опцией пропуска.