【发布时间】:2019-04-13 12:37:48
【问题描述】:
如何获得组件@Input 的单元测试覆盖率,该组件是使用setter 和getter 进行字符串化的对象。代码运行良好,问题是我无法获得完整的单元测试覆盖率。
选择器看起来像:
<products-list [products]="{"name": "Testing Name", "value": "TN", "isRequired": false}"></products-list>
组件:
private _products: any;
@Input('products')
set products(list: string) {
this._products = JSON.parse(list);
}
get products() {
return this._products;
}
【问题讨论】:
-
您目前的测试是什么?组件对数组有什么作用?你的组件的公共接口只是它接受一个字符串输入,一旦它被解析,它可能会在某个地方使用;您不需要直接测试 getter 和 setter,因为这是一个实现细节。
-
如果我直接从我的测试中调用该属性,set 函数会覆盖而不是 get,所以如果你回答正确,我不应该测试 get 函数。
标签: angular unit-testing jasmine