Можно ли использовать factory_girl.js с чайной ложкой?

Как часть моих попыток освоить веб-разработку, я пришел к выводу, что у меня есть несколько классов coffeescript, которые я хотел бы протестировать в своей среде rails.

У меня есть приложение rails 4.03, над которым я работаю (оно основано на руководстве по rails). В процессе изучения рельсов я привык работать с rspec и FactoryGirl, поэтому я хотел бы попытаться выполнить аналогичный процесс для coffeescript, если это возможно.

Я написал все свои coffeescript как отдельные классы, каждый в своем файле, так что я думаю, что они должны быть тестируемыми.

В настоящее время у меня установлена чайная ложка, которая очень похожа на rspec. У меня это работает с некоторыми базовыми тестами, но теперь мне нужно начать писать реальные тесты. В Teaspoon есть поддержка осветителей, но я заметил, что есть пакет node.js с именем factory_girl, который выглядит как порт ruby ​​FactoryGirl для rspec. Я установил этот пакет, используя npm -install, и теперь он находится в моей папке rails в разделе "node_modules".

Может кто-нибудь сказать мне, возможно ли использовать этот пакет для генерации объектов для тестирования с чайной ложкой, и если да, то как?

Обновление: я отмечаю ответ ниже как принятый, потому что мне удалось запустить FactoryGirl. То, что я сделал, было (как предложено в ответе) было скопировать файл factory_girl.js в место, которое может быть загружено спецификацией конвейера активов spec/javascripts/support, а затем потребовал его в файле spec/javascripts/spec_helper.coffee.,

Проблема в том, что функциональность не соответствует тому, что происходит в рельсах (если я полностью не забыл, как это работало в рельсах). В Rails я мог определить фабрику для модели, и созданные объекты были бы экземплярами класса, с которым я связывал фабрику. Здесь, кажется, нет никакой связи с классом, который я пытаюсь создать. Например, доступны только те свойства, которые я определяю в определении фабрики, и ни один из методов не определен для объектов. Я мог бы сделать что-то совершенно не так, или, может быть, пытаясь использовать это как-то.

1 ответ

Решение

Чайная ложка не использует узел (в основном), и в основном это рельсы, основанные на фундаменте бегуна. Поверх слоя rails он использует Jasmine, Mocha или QUnit в качестве тестовых фреймворков для браузера.

Попытка загрузить модуль узла в это не очень легко, или в некоторых случаях возможно. Если factory_girl.js теоретически может быть загружен в браузер, вам может потребоваться файл (если он находится в пути к активу) в вашем помощнике по спецификации, а затем использовать его по своему усмотрению.

Отказ от ответственности: я являюсь основным автором чайной ложки, но никогда не использовал factory_girl.js (но использовал factory_girl самоцвет).

Другие вопросы по тегам