gpt4 book ai didi

javascript - 如何仅通过一个 Jest 配置文件/设置使用多个 Jest 预设?

转载 作者:行者123 更新时间:2023-11-29 15:57:43 32 4
gpt4 key购买 nike

我正在处理的一个项目已经配置了 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 ) 结合使用。问题是配置中的预设属性是字符串类型,不支持数组或对象。

我读过一些类似的问题; Is it possible to use Jest with multiple presets at the same time? , 但像这样的问题似乎没有关于如何解决这个问题的明确工作解决方案。

其他人提出了一种解决方案,其中为每个预设创建了一个单独的 Jest 配置,但这是我不想要的,并且将来可能会导致更多问题。

修改此单个配置文件以允许多个(此处为 2 个)预设是理想的,但如何实现?

最佳答案

您实际上不能使用两个预设,但由于 shelf/jest-dynamodb 的预设只是在 jest 设置中设置其他选项,您可以自己调用它们。我能够通过添加到 package.json 的“jest”部分来做到这一点:

"globalSetup": "./node_modules/@shelf/jest-dynamodb/setup.js",
"globalTeardown": "./node_modules/@shelf/jest-dynamodb/teardown.js",

这会发出与预设相同的调用,这意味着您可以将预设留给 ts-jest

关于javascript - 如何仅通过一个 Jest 配置文件/设置使用多个 Jest 预设?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56984816/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com