Стратегия совмещения рельсов и нерельсовых испытаний? - PullRequest
0 голосов
/ 09 февраля 2012

Мы с радостью использовали Test :: Unit для нашего Rails-приложения со встроенными задачами

rake test
rake test:units
rake test:functionals
rake test:integration

По мере роста мы получаем кучу кода ruby, который не имеет отношенияна рельсы вообще.В основном это входит в lib.Я бы хотел, чтобы люди могли легко добавлять новые тесты для каталогов в lib, которые могут загружать или не загружать среду Rails, и запускать все тесты ruby ​​на rake: test.Но мне не очень понятно, какой предпочтительный способ расширения rake test.Нужен ли нам один файл .rake для каждого нового каталога?- это кажется раздражающим.

Ответы [ 2 ]

0 голосов
/ 10 февраля 2012

Кори Хейнс дает доклады о тестах на быстрые рельсы , которые могут быть вам полезны.

Вот пример приложения, которое демонстрирует, как вы можете создать макеттесты, которые не требуют rails (не забудьте переключить ветку на no_rails, чтобы увидеть окончательный макет).

т.е. создать расширения в lib, протестировать их из spec_no_rails, вызвать эти расширенияот вашей модели и запустите тесты с time rspec -fd -I lib/your_extension/ spec_no_rails/

0 голосов
/ 09 февраля 2012

Предполагается, что вы тестируете код lib модульно, поэтому он должен идти в test / unit / lib. Если вы хотите, чтобы код lib тестировался отдельно, вы можете превратить его в гем.

...