Использование TypeScript с Jest без перехвата синтаксических ошибок - PullRequest
2 голосов
/ 11 апреля 2019

При компиляции машинописи обратно в js, вы можете указать параметр --alwaysStrict, который:

Анализировать в строгом режиме и выдавать «use strict» для каждого исходного файла

Итак, если в функции отсутствует обязательный параметр, он попадает в этот строгий режим.

Мы используем ts-jest, поэтому мы можем использовать Jest для тестирования нашего кода Typescript. Проблема, с которой мы сталкиваемся, заключается в том, что мы не нашли способа имитировать строгое поведение при разборе.

Это действительно раздражает, потому что кажется, что все тесты пройдены, но время от времени возникает синтаксическая ошибка, которая проскальзывает в трещины, и мы замечаем это только при создании производственной сборки (где мы установили --alwaysStrict)

В нашем jest.config.js есть:

module.exports = {
  roots: ["<rootDir>/src"],
  transform: {
    "^.+\\.tsx?$": "ts-jest"
  },
  testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$",
  moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
  "testEnvironment": "node"
};```

1 Ответ

1 голос
/ 12 апреля 2019

ts-jest использует tsconfig.json из вашего проекта по умолчанию.

(Примечание: если вам нужен отдельный файл конфигурации для ваших тестов, вы можете настроить ts-jest для использования другого файла конфигурации )

Вы можете установить alwaysStrict в compilerOptions разделе файла конфигурации и ts-jest использовать этот флаг при компиляции вашего TypeScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...