Gil*_*uck 13 javascript node.js amazon-dynamodb typescript jestjs
我正在处理的一个项目已经配置了 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',
};
Run Code Online (Sandbox Code Playgroud)
配置当前使用ts-jest预设。该项目还涉及一个应该进行测试的 DynamoDB 实例,这就是多个预设发挥作用的地方。当前预设 ,ts-jest应与@shelf/jest-dynamodb-preset ( https://jestjs.io/docs/en/dynamodb )结合使用。问题是配置中的预设属性是字符串类型,不支持数组或对象。
我读过一些类似的问题;是否可以同时使用具有多个预设的 Jest?,但是像这样的问题似乎没有关于如何解决这个问题的明确可行的解决方案。
其他人提出了一个解决方案,其中为每个预设创建一个单独的 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",
Run Code Online (Sandbox Code Playgroud)
这会进行与预设相同的调用,这意味着您可以将预设留给 ts-jest
| 归档时间: |
|
| 查看次数: |
2277 次 |
| 最近记录: |