Как использовать несколько пресетов Jest только с одним файлом конфигурации / настройки Jest? - PullRequest
0 голосов
/ 11 июля 2019

Проект, над которым я работаю, уже настроен на 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) пресетов, но как этого достичь?

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