При компиляции машинописи обратно в 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"
};```