Итак, я пытался протестировать контроллер Ember. Проблема в том, что контроллер находится внутри файла coffeeScript, который содержит несколько контроллеров.
В руководстве по тестированию Ember говорится, чтобы протестировать контроллер, я должен использовать вспомогательный модуль «moduleFor» следующим образом:
moduleFor(fullName [, description [, callbacks]])
В моем случае полное имя звучит так: «CustomersIndexController». Но поскольку он включен в «customers_controller.coffee», который сам включает в себя несколько контроллеров, его тестирование стало проблематичным.
После бесконечного поиска в Интернете я обнаружил (пожалуйста, исправьте меня если я ошибаюсь), что распознаватель заботится только об имени файла, а не об имени, которое предоставляет «экспорт по умолчанию myModel»
Чтобы было понятнее, вот мой "customers_controller.coffee":
`export { CustomersIndexController, CustomersItemController }`
CustomersIndexController = Ember.ArrayController.extend
#Code goes here ......
CustomerItemController = Ember.ObjectController.extend
#Code goes here .....
А вот файл customers-controller-test.coffee
:
`import { test, moduleFor } from 'ember-qunit';`
moduleFor("controller:customers-index-controller", 'C Controller')
test "it's an App.Controller", -> ok(@subject())
Я испробовал все идеи, которые мог предложить мой мозг... безуспешно (изменение имени контроллера с camelCase на dasherized, на абсолютный путь, даже пытался импортировать customers_controller.coffee), но я продолжаю получать:
Setup failed on it's a App.Controller: Attempting to register an unknown factory: `controller:customers-index-controller`
Любая помощь/советы/ссылки приветствуются.