如何在 jasmine 中编写单元测试用例?

Posted

技术标签:

【中文标题】如何在 jasmine 中编写单元测试用例?【英文标题】:How to write unit test case in jasmine? 【发布时间】:2021-07-11 10:27:36 【问题描述】:
Flag(a) 
           let element=this.selected.filter(item => item.a=== a)
           return element.length > 1 ? true : false;
        

不确定如何为上述函数编写单元测试用例。你能帮忙吗

【问题讨论】:

我会推荐shashankvivek-7.medium.com/… 【参考方案1】:

一个测试用例总是包含 3 个步骤:

准备工作 执行 验证

在你的情况下,这意味着:

准备:设置this.selected的值 执行:使用定义的 a 调用 Flag 验证:检查函数是否返回错误

【讨论】:

【参考方案2】:

这应该很容易:

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();
)

【讨论】:

以上是关于如何在 jasmine 中编写单元测试用例?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jasmine 为以下 javascript 函数编写单元测试用例

我们如何为嵌套函数编写单元测试用例(Jasmine)?

AngularJS – 如何在 Jasmine 中为输入事件指令编写单元测试

Jasmine 中的单元测试用例

编写 Karma-Jasmine 单元测试用例时出现“错误:没有路由器提供程序”

如何使用 Angular 4 Jasmine 单元测试用例覆盖 IF/ELSE 条件