我正在尝试遵循Alisdar's新的集成测试,而不是对我的ember组件进行单元测试。
我真的很喜欢这种新的方法,但在测试调用视图中另一个组件的组件时,我遇到了一个问题。
alpha组件:
App.TestAlphaComponent = Ember.Component.extend({
listWords: []
});alpha组件视图使用beta组件:
{{#each listNumbers as num}}
{{test-beta word=num}}
{{/each}}测试版组件:
App.TestBetaComponent = Ember.Component.extend({
word: 'hello world'
});测试版组件视图:
<h1>{{ word }} </h2>TestAlphaComponent的Mocha Chai集成测试
import Ember from 'ember';
import { expect } from 'chai';
import {
describeComponent,
it
} from 'ember-mocha';
import hbs from 'htmlbars-inline-precompile';
import tHelper from "ember-i18n/helper";
import testBeta from "app/components/test-beta";
var foo;
describeComponent(
'test-alpha',
'Integration: testAlphaComponent',
{
integration: true
},
function() {
beforeEach(function () {
this.container.lookup('service:i18n').set('locale', 'en');
this.registry.register('helper:t', tHelper);
this.registry.register(
'component:test-beta',
testBeta
);
Ember.run(this, 'set','foo', ['foo','bar','baz']);
this.render(hbs`{{test-alpha listWords=foo}}`);
});
it('prints foo bar baz in h1s', function() {
expect($('h1').to.have.length(3);
});
});
);我的测试失败了。testBeta永远不会被调用,也不会抱怨缺少组件。将testBetaComponent注入testAlpha的集成测试环境的正确方法是什么?
发布于 2015-08-16 18:19:35
组件的名称中需要有破折号。添加破折号后,将自动添加子组件。请参阅备注:
http://guides.emberjs.com/v1.13.0/components/defining-a-component/
https://stackoverflow.com/questions/32019221
复制相似问题