• react: typescript jest && enzyme


    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""

  • 相关阅读:
    Node入门
    Java try-catch、throw和throws的几点想法
    SpringMVC的四种HandlerMapping
    枚举
    MyBatis表和实体关联
    MyBatis xml和dao层接口组合使用
    Spring Task 定时器
    (转)Spring定时任务的几种实现
    Struts2+Spring发送邮件
    Struts2文件上传
  • 原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/11227633.html
Copyright © 2020-2023  润新知