【问题标题】:Emberjs link-to href test in integration component集成组件中的 Emberjs 链接到 href 测试
【发布时间】:2016-03-04 17:33:06
【问题描述】:

我正在尝试测试 ember 组件中的链接到 href 属性。使用 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')')

【问题讨论】:

    标签: javascript ember.js htmlbars integration-testing


    【解决方案1】:

    你可能想看看这个问题Ember Component Integration Tests: `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);
      }
    });
    

    【讨论】:

      猜你喜欢
      • 2015-11-14
      • 2014-08-07
      • 1970-01-01
      • 2014-05-05
      • 2018-03-20
      • 1970-01-01
      • 1970-01-01
      • 2020-07-30
      • 2016-03-09
      相关资源
      最近更新 更多