Ember.js ember qunit如何在集成测试中呈现组件?
以下是ember qunit的基本组件/集成测试Ember.js ember qunit如何在集成测试中呈现组件?,ember.js,ember-qunit,ember-testing,Ember.js,Ember Qunit,Ember Testing,以下是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(asse
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}}
在哪里
这与此类似:编辑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>
这是按惯例呈现的元素
请尝试在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';
这里有两个问题。首先,组件的其他部分是如何进入的,比如模板和样式(更新文件结构以包含它们)以及插件中的component.js
。其次,如果组件是在测试
和应用程序
中定义的,那么它默认为哪个?(问题更新为编辑1)您是否从组件.js
导入布局
?似乎您没有导入模板。看一看。它有集成测试。我尝试添加“从导入模板”。/template';&布局:模板到addon/components/my component/component.js之前没有用,我喜欢你那里的addon链接。我看到的主要区别是插件的组件被分解为组件/和模板/而不是我的一体化方法。他们也使用块组件{{{#component}},但我不认为我的issuetemplates必须位于app/templates
目录下。