Есть несколько фреймворков для тестирования javascript, которые вы также можете использовать в машинописи, например, mocha или jest. Вам часто нужно устанавливать типы как зависимости, например
$ npm i -D @types/mocha
но есть также полностью написанные на машинописи рамки тестирования , но часто они имеют меньшее сообщество. Поэтому я рекомендую начать с шутки или мокко. Я лично предпочитаю мокко в сочетании с чайной библиотекой утверждений.
Мои тесты выглядят так:
it( 'logStack === false', async () => {
const customOptions: LogUpTsOptions = { quiet: true, logStack: false };
const logger = new LogUpTs( customOptions );
expect( await logger.error( new Error( 'first' ) ) ).to.eql( '[ERROR] first' );
expect( await logger.log( 'second' ) ).to.eql( '[LOG] second' );
} );
тесты для логоптов
Mocha работает в nodejs и браузере (иногда я использую karma runner для тестирования браузера).
Если вы запускаете свои модульные тесты в nodejs, я рекомендую установить следующие пакеты:
- мокко // мокко как основа тестирования
- @ types / mocha // необходимо использовать mocha в машинописи
- chai // необходимо для ожидания
- @ types / chai // необходимо использовать chai в машинописи
- source-map-support // добавить source-map-support для nodejs
- ts-node // запускаем машинопись прямо в nodejs
$ TS_NODE_COMPILER_OPTIONS='{\"module\":\"commonjs\"}' mocha --opts ./mocha.opts
мой файл mocha.opts:
--require ts-node/register
--require source-map-support/register
--recursive
src/**/*.spec.ts
Если вам нужно что-то еще "работает" из коробки ", я думаю, что Jest может быть подходящим каркасом для тестирования.