Проект, над которым я работаю, уже настроен на Jest и тестирование работает как надо. Вот так выглядит текущий файл jest.config.js
;
const ignores = [...];
const coverageIgnores = [...];
module.exports = {
roots: ['<rootDir>/src'],
globals: {
'ts-jest': {
tsConfig: 'tsconfig.json',
},
},
moduleFileExtensions: ['js', 'json', 'ts'],
testPathIgnorePatterns: [...ignores],
coveragePathIgnorePatterns: [...ignores, ...coverageIgnores],
testEnvironment: 'node',
coverageThreshold: {
global: {
branches: 86,
functions: 75,
lines: 86,
statements: 86,
},
},
preset: 'ts-jest',
};
В настоящее время в конфигурации используется пресет ts-jest
. Проект также включает в себя экземпляр DynamoDB, который должен быть протестирован, и именно здесь в игру вступают несколько пресетов. Текущий пресет, ts-jest
, должен использоваться в сочетании с @shelf/jest-dynamodb
-preset (https://jestjs.io/docs/en/dynamodb).). Проблема в том, что свойство пресета в конфигурации имеет тип String и не поддерживает массив или объект.
Я читал несколько похожих вопросов, подобных этому; Можно ли использовать Jest с несколькими пресетами одновременно? , но подобные вопросы, похоже, не имеют окончательного рабочего решения о том, как решить эту проблему.
Другие предлагают решение, в котором для каждого пресета создается отдельная конфигурация Jest, но это то, чего я не хочу, и это, вероятно, вызовет больше проблем в будущем.
Было бы идеально изменить этот единственный файл конфигурации, чтобы разрешить несколько (здесь 2) пресетов, но как этого достичь?