这里是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';