1 回答
TA贡献1790条经验 获得超9个赞
只要看看这一节,就会清楚为什么会出现问题(在这种情况下,分支标准中没有达到 100% 的覆盖率)。
/* ... */ add(state = INITIAL_STATE, action) { /* ... */
/* ... */ remove(state = INITIAL_STATE, action) { /* ... */
我们可以按如下方式阅读此语法:
, 的声明function add ()具有以下条件
如果你在第一个参数中传递一个值,假设state在函数作用域中会有这个值;
如果没有传递一个值(或者如果这个传递的值为undefined),则假设state将INITIAL_STATE在函数作用域中设置为该值;
[在此处阅读有关此语法的更多信息]
由于此条件已声明,因此有必要测试两种可能性,以便测试在分支标准中具有 100% 的覆盖率。
例如:
it("should return INITIAL_STATE when passed undefined on parameter and sometingh on action",
() => {
expect(setCurrent(undefined, action)).toBe(INITIAL_STATE);
}
);
it("should return 'test' when passed 'test' on parameter and sometingh on action",
() => {
expect(setCurrent("test", action)).toBe('test');
}
);
添加回答
举报
