Ember — попытка зарегистрировать неизвестную фабрику

У меня есть структура маршрута:

abc (route)
    |-- index
    |       |-- route.js (extends base.js)
    |       |-- template.hbs
    |
    |-- edit
    |       |-- route.js (extends base.js)
    |       |-- template.hbs
    |
    |-- base.js (extends Ember.Route)

Теперь, когда я пытаюсь написать модульный тест для моего base.js, я получаю следующее исключение:

Обещание отклонено до того, как оно существует: Попытка зарегистрировать неизвестную фабрику: route:abc/base

Что я сделал не так, что он не может зарегистрировать мой базовый класс в качестве маршрута?

Если я изменю свой base.js на route.js, он начнет работать, но произойдет то, что afterModel внутри base.js будет выполнен дважды, когда я перейду к abc/index (это ожидаемое поведение). Мой базовый класс содержит код, который требуется как для маршрута индекса, так и для маршрута редактирования.

Есть ли лучший способ справиться с этим?


person hnf1991    schedule 25.06.2016    source источник
comment
Есть ли прогресс в этом? Если это так, обновление вашей задачи здесь (и, конечно, здесь) будет наверное оценят :)   -  person shane    schedule 08.02.2017


Ответы (1)


Если у вас нет такого маршрута, как abc/base, и он нужен вам только для наследования, перейдите в другое место.

person Ebrahim Pasbani    schedule 25.06.2016
comment
Как я получу этот класс для модульного теста? Он недоступен с помощью moduleFor - person hnf1991; 25.06.2016
comment
@hnf1991 перейти к utils. Я использую миксин для таких ситуаций - person Ebrahim Pasbani; 25.06.2016
comment
Да, это то, что я попробовал сейчас. Там он работал нормально, но когда я пишу модульный тест для этого миксина, он проверял все утверждения, но не показывал покрытие строк. - person hnf1991; 25.06.2016