问题描述
Flag(a) {
let element=this.selected.filter(item => item.a=== a)
return element.length > 1 ? true : false;
}
不确定如何为上述函数编写单元测试用例。你能帮忙吗
解决方法
一个测试用例总是由 3 个步骤组成:
- 准备
- 执行
- 验证
就您而言,这意味着:
- 准备:设置
this.selected
的值 - 执行:使用定义的a调用Flag
- 验证:检查函数返回false
这应该很简单:
it('should run #Flag(a) method',() => {
component.selected = [{ someKey1: 'someValue1' },{ someKey2: 'someValue2' }];
const val = 'someValue1';
spyOn(component,'Flag').and.callThrough();
component.Flag(val);
expect(component.Flag).toHaveBeenCalled();
})