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