Jest 單元測試 — Coverage

Conrad
Conrad KU
Published in
3 min readJun 20, 2023

--

參考文章:讓 Jest 為你的 Code 做測試-基礎用法教學

🔖 文章索引

1. Setting coverage directory path
2. Setting npm script
3. Example

Setting coverage directory path

// jest.config.js

/** @type {import('ts-jest').JestConfigWithTsJest} */
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
coverageDirectory: 'wwwroot/__test__/coverage'
};

Setting npm script

// package.json

{
...
"scripts": {
"test" : "jest --env=jsdom --coverage"
}
...
}

Example

依照下方 sum.test.ts 執行 npm run test

// wwwroot/ts/utilities/sum.ts

export default function (a: number, b:number) {
if (b) {
return a + b;
} else {
return a;
}
}
// wwwroot/__test__/sum.test.ts

import sum from "../ts/utilities/sum";

test("adds 1 + 2 to equal 3", () => {
// Arrange
const x: number = 1;
const y: number = 2;
const expectedIf: number = 3;
// const expectedElse: number = 1;

// Act
let actIf: number = sum(x, y);
// @ts-ignore
// let actElse: number = sum(x);

// Assert
expect(actIf).toBe(expectedIf);
// expect(actElse).toBe(expectedElse);
});

所產出的報告 ( 如下圖 ) 會用紅色標示出沒有寫到測試的地方

--

--

Conrad
Conrad KU

Remember, happiness is a choice, so choose to be happy.