Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js ember qunit如何在集成测试中呈现组件?_Ember.js_Ember Qunit_Ember Testing - Fatal编程技术网

Ember.js 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

以下是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}}
在哪里

这与此类似:

编辑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
目录下。