如何编写从html调用的函数的测试用例

时间:2018-06-07 13:13:35

标签: javascript angular unit-testing jasmine karma-jasmine

app.component.html

<button [disabled]="isDisabled()"></button>

app.component.ts

isDisabled(){

if(count==0) return true;
else return false;
}

app.spec.ts

let spy=(component,'isDisabled').and.callThrough();
component.ngOnInit();
expect(spy).toHaveBennCalled();

我从按钮禁用属性调用isDisabled()函数来启用或禁用该按钮。 但是无法为同样的情况编写测试用例。 测试用例显示成功且未找到代码覆盖率。

1 个答案:

答案 0 :(得分:0)

最好有一个属性isDisabled而不是一个函数。 count更改后,您更新属性isDisabled已更新。这更容易测试,并且在变化检测方面具有优势。

如果count@Input

_count = 0;

@Input() set count(count) {
  this.isDisabled = count === 0;
  this._count = count;
}

get count() {
  return this._count;
}

isDisabled = true;