使用@Input测试Angular 2组件

时间:2016-01-08 05:31:35

标签: angular

我试图测试我的Angular 2组件,用new MyComponent()进行实例化。但是,对于采用@Input s的组件,我如何通过这些组件?然后,如果实例化,说我想改变输入。这只是重新分配我传入的变量吗?

1 个答案:

答案 0 :(得分:1)

如果使用background-size: cover; 创建实例,则无法执行任何其他操作来分配字段。您可以使用new来获取更改检测和绑定。

在测试TestComponentBuilder组件的Dart代码示例下方。 我假设你可以弄清楚如何在TS中做到这一点。

BwuArraySelector

...

/// Component only for testing BwuArraySelector
@Component(
    selector: 'test-cmp-singleconfigured',
    directives: const [BwuArraySelector],
    template: '''
<bwu-array-selector #singleConfigured
  [items]='[{"name": "one"},{"name": "two"},{"name": "three"}]'>
</bwu-array-selector>
''')
class SingleConfigured {
  @ViewChild('singleConfigured') BwuArraySelector arraySelector;
}

// inject the TextComponentBuilder and create a component instance ngTest('single selection', (TestComponentBuilder tcb) async { ComponentFixture tc = await tcb.createAsync(SingleConfigured); tc..detectChanges(); BwuArraySelector el = (tc.componentInstance as SingleConfigured).arraySelector; 的调用使用detectChanges()测试组件模板绑定中的值初始化BwuArraySelector的输入。