Когда мы пишем наш новый проект Node.js с использованием TypeScript или обновляем существующий код JavaScript до TypeScript, полезно знать, как мы можем писать модульные тесты на машинописном языке.

Предпосылка

Установите jest и typescript в свой проект, выполнив следующую команду:
npm i -D jest typescript

Шаг 1

Установите ts-jest и@types/jest в свой проект, выполнив следующую команду:
npm i -D ts-jest @types/jest

Шаг 2

Создайте файл конфигурации с именем jest.config.js на том же уровне, что и package.json, выполнив следующую команду:
npx ts-jest config:init

Файл должен иметь следующий код:

module.exports = {
  preset: "ts-jest",
  testEnvironment: "node"
};

Добавить команду сборки

Вы можете просмотреть эту статью, чтобы настроить проект с нуля в машинописном тексте.
Затем нам нужна команда в нашем package.json, чтобы npm знал, как построить проект.

Поэтому мы добавляем следующую команду в package.json.

...
"scripts": {
    "build": "tsc"
...

создайте файл index.ts и добавьте функцию простого добавления

export const add = (x: number, y: number): number => (x+y);

Напишите тестовый пример для функции добавления

Создайте файл index.spec.ts. Теперь нам просто нужно написать тестовый пример, чтобы проверить, возвращается ли определенный результат при сложении двух чисел с помощью нашей функции.

import { add } from "./index.ts";
describe("test add function", () => {
  it("should return 15 for add(10,5)", () => {
    expect(add(10, 5)).toBe(15);
  })
  ;it("should return 5 for add(2,3)", () => {
    expect(add(2, 3)).toBe(5);
  });
});

После этого мы просто выполняем следующую команду:

npm test

В нашем случае jest найдет все тест-файлы с паттерном *.spec.ts, выполнит их и выведет результат в консоль. В нашем случае все тест-кейсы пройдены.

Точно так же вы написали свой самый первый модульный тест на машинописном языке, используя шутку. это не так много, но эй, это начало!