Install Jest
1、install jest dependencies
jest @types/jest ts-jest -D
2、jest.config.js
module.exports = { "roots": [ "<rootDir>/src" ], "transform": { "^.+\\.tsx?$": "ts-jest" }, "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$", "moduleFileExtensions": [ "ts", "tsx", "js", "jsx", "json", "node" ] }
3、test jest
foo.ts
export const sum = (...args) => args.reduce((acc, val) => acc+val, 0)
foo.test.ts
import {sum } from "./foo";
test("basic", () => {expect(sum()).toBe(0)})
test("basic begin", () => {expect(sum(1,2,3)).toBe(6)})
Install Enzyme
1、install enzyme dependencies
enzyme @types/enzyme enzyme-to-json enzyme-adapter-react-16
@types/enzyme-adapter-react-16
2、configue enzyme setup-test.ts
import { configure } from 'enzyme'; import * as Adapter from 'enzyme-adapter-react-16'; configure({ adapter: new Adapter() });
3、update jest.config.js
module.exports = { "roots": [ "<rootDir>/src" ], "setupFileAfterEnv": ["<rootDir>/setup-test.ts"] "transform": { "^.+\\.tsx?$": "ts-jest" }, "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$", "snapshotSerializers": ["enzyme-to-json/serializer"], "moduleFileExtensions": [ "ts", "tsx", "js", "jsx", "json", "node" ] }
4、update tsconfig.js
"exclude": **/*.test.ts""