Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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
Javascript 单元测试吸气剂_Javascript_Angular_Unit Testing_Ecmascript 6_Jasmine - Fatal编程技术网

Javascript 单元测试吸气剂

Javascript 单元测试吸气剂,javascript,angular,unit-testing,ecmascript-6,jasmine,Javascript,Angular,Unit Testing,Ecmascript 6,Jasmine,试图从@Input(Angular 5)对getter进行单元测试,我的测试针对setter(代码覆盖率为100%),但我得到了getter的警告 private _triggerOnChange: boolean; get triggerOnChange(): boolean { return this._triggerOnChange; } @Input() set triggerOnChange(value: boolean) { this._triggerOnChang

试图从@Input(Angular 5)对getter进行单元测试,我的测试针对setter(代码覆盖率为100%),但我得到了getter的警告

private _triggerOnChange: boolean;
get triggerOnChange(): boolean {
    return this._triggerOnChange;
}

@Input()
set triggerOnChange(value: boolean) {
    this._triggerOnChange = value;
    this.ngOnChanges();
}
这让我得到了二传手的掩护

  it('should', () => {
    component.triggerOnChange = true;
     expect(component['_triggerOnChange']).toBe(true);
  });
但我似乎无法得到盖特的报道

private _triggerOnChange: boolean;
get triggerOnChange(): boolean {
    return this._triggerOnChange;
}

@Input()
set triggerOnChange(value: boolean) {
    this._triggerOnChange = value;
    this.ngOnChanges();
}

您直接访问packing值,而不是访问getter。您应该将测试更新为:

it('should',()=>{
component.triggerOnChange=true;
expect(component['triggerOnChange']).toBe(true);
});

谢谢,这很有效,但我认为component.triggerochange=true与component['triggerochange']相同。第一行使用setter,第二行使用getter。