我写了一个简单的减速机:
const simpleCounterReducer = (state = 0, action) => {
switch (action.type) {
case 'INCREMENT_COUNT':
return state + 1;
case 'DECREMENT_COUNT':
return state - 1;
default:
return state;
}
};
export default simpleCounterReducer;
然后几个简单的测试,以涵盖所有可能的选项。
import simpleCounterReducer from '../src/reducers/simple-counter.js';
describe('counter works and', () => {
test('can handle increments', () => {
expect(
simpleCounterReducer(0, {
type: 'INCREMENT_COUNT'
})
).toBe(1);
});
test('can handle decrements', () => {
expect(
simpleCounterReducer(1, {
type: 'DECREMENT_COUNT'
})
).toBe(0);
});
test('can handle invalid actions', () => {
expect(
simpleCounterReducer(4, {
type: 'SOME_RANDOM_ACTION'
})
).toBe(4);
});
});
然后,我跑到这个命令:npx jest --colors --coverage
不过,即使我已覆盖代码的所有部分,我得到的裸露线。它说的是错的玩笑还是我失去了一些东西。 ,是有办法找出开玩笑,没有覆盖的代码部分。
如果你想看到未涉及您可以在浏览器中打开生成的报告线。
默认情况下,该报告是在这里./coverage/lcov-report/index.html
。
但你也是在控制台中看到未覆盖线的线数(它不是未覆盖线,但该行号的数量,并在你的情况下,它是第一行)。
此外,如果需要一些配置的范围:https://jestjs.io/docs/en/configuration#collectcoverage-boolean
另请注意,使用伊斯坦布尔幕后:https://github.com/gotwarlost/istanbul