Emberjs link-to-href test в компоненте интеграции

Я пытаюсь проверить свойство link-to href в компоненте ember. с ember 2.0, но когда я рендерил компонент с помощью renter hbs, он рендерит это:

<div id=\"23\" class=\"ember-view\">
<p><!----></p>
<div class=\"participantes\">
    <a id=\"ember282\" class=\"ember-view\">     
        <span>rnt-ayl-bld-js-jvr-frd-edw</span>
    </a>
</div>  

и свойство href не отображается, я прочитал, что это связано с маршрутизатором, но я не уверен, как включить маршрутизатор в тест, я попробовал что-то вроде:

moduleForComponent('conversation-item', 'Integration | Component | conversation item', {
integration: true,
setup(){
    const router = this.lookup('router:main');
    router.startRouting(true);
}

});

но функции поиска нет

TypeError: "undefined" не является функцией (оценивает "container.lookup(" router:main ")")

1 ответ

Возможно, вы захотите взглянуть на этот вопрос. Тесты интеграции компонентов Ember: `link-to` href empty

Хотя это 1.13, это может вам помочь. К сожалению, я использую ember-mocha и все еще испытываю проблемы.

По сути, вы действительно близки, вам просто нужно использовать контейнер для поиска маршрутизатора.

// tests/helpers/setup-router.js

export default function({ container }) {
  const router = container.lookup('router:main');
  router.startRouting(true);
}


// tests/integration/components/my-component-test.js

import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';
import setupRouter from '../../helpers/setup-router';

moduleForComponent('my-component', 'Integration | Component | my component', {
  integration: true,
  setup() {
    setupRouter(this);
  }
});
Другие вопросы по тегам