Javascript angular 5 karma单元测试:失败:无法读取未定义的属性childcomponent属性(itgroup)

Javascript angular 5 karma单元测试:失败:无法读取未定义的属性childcomponent属性(itgroup),javascript,angular,unit-testing,asynchronous,karma-jasmine,Javascript,Angular,Unit Testing,Asynchronous,Karma Jasmine,我正在尝试为父组件方法编写测试用例,该方法在子组件中具有一些依赖性 我得到以下错误 失败:无法读取未定义的属性“itGroup”,该属性是我的子组件属性 下面是我的代码片段 子组件 子组件: --------------- ---------------- 干预组:FormGroup; 构造函数(){} 恩戈尼尼特(){ this.itGroup=新表单组({ 测试1:新表单控件(“”), 测试2:新表单控件(“”), }); }你能给我看看你的整个测试吗 要获得子组件的句柄,请确保将子组件放

我正在尝试为父组件方法编写测试用例,该方法在子组件中具有一些依赖性

我得到以下错误

失败:无法读取未定义的属性“itGroup”,该属性是我的子组件属性

下面是我的代码片段

子组件

子组件:
---------------
----------------
干预组:FormGroup;
构造函数(){}
恩戈尼尼特(){
this.itGroup=新表单组({
测试1:新表单控件(“”),
测试2:新表单控件(“”),
});

}
你能给我看看你的整个测试吗

要获得子组件的句柄,请确保将子组件放在
声明中

import { ChildComponent } from 'childComponent';

...
let component: ThisComponet;
let childComponent: ChildComponent;
.....
declarations: [ChildComponent],
.....
component = fixture.componentInstance;
// to get a handle on the child component, you can select it By.directive
childComponent = fixture.debugElement.query(By.directive(ChildComponent)).componentInstance; 
// should have access to your childComponent public properties and methods now

谢谢。我是否需要在测试文件中为component.changeVal=true的反射编写任何内容,并使用querySelector点击submit按钮方法?我认为您不应该这样做。在您的安排和操作之后,执行fixture.detectChanges()操作,应该对其进行更新。您是否可以共享已编辑的示例?我也陷入了这种情况。我认为如果你在这里就StackOverflow提出一个问题,并提供一个链接,然后我可以帮助你进行示例?如果你的子组件是
app dynamic template
,那么在执行
childComponent=fixture.debugElement.query(By.directive(childComponent)).componentInstance之前,是的
,do
component.changeVale=true