ember qunit如何在集成测试中渲染组件



这里是ember qunit的基本组件/集成测试。

import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';
moduleForComponent('my-component', 'TODO: put something here', {
  integration: true
});
test('it renders', function(assert) {
  this.render(hbs`{{my-component}}`);
  console.log('This is the rendered element', this.$()[0]);
  assert.ok(false);
});

我有一个ember插件,目录结构如下:

addon/
.. components/
.... my-component/
...... component.js
...... style.less
...... template.hbs   
app/  
.. components/
.... my-component.js
...... component.js
tests/  
.. integration/  
.... components/  
...... my-component-test.js  

ember如何确定{{my-component}}在哪里?

这有点像这样:
Ember CLI如何预编译模板?

编辑1

根据注释,我已经通过导入/导出将常规app组件链接到addon组件。

app/components/my-component/component.js
export { default } from 'my-application/components/my-component'  

然而,控制台日志只显示以下内容:

This is the rendered element <div id="ember234 class="ember-view">
                               <!---->
                             </div>

按惯例。

Ember尝试在app/components目录、app/components/templates目录或app/helpers目录下找到一个名为my-component的文件。

如果在addon/components目录下定义my-component,则需要在app/components目录或tests/dummy/app/components目录下重新定义,例如:

export { default } from 'my-addon/components/my-component';

相关内容

  • 没有找到相关文章

最新更新