我正在为一个使用八进制文字的代码库编写一些单元测试。每当使用npm test
执行测试时,都会出现如下语法错误:
strict模式下不允许使用旧版八进制文本。
我应该强调的是,"use strict"
没有出现在源代码的任何地方,我也无法在package-lock.json
或package.json
中找到任何指示严格模式的选项。这两个JSON文件都是用npm init -y
创建的,除了添加以下内容外,没有进一步修改:
"scripts": {
"test": "jest"
},
我怎样才能强制Jest退出严格模式,以便测试具有遗留八进制文字的代码?
2条答案
按热度按时间tpgth1q71#
根据文件:
默认情况下,Jest将使用
babel-jest
转换器您可以通过设置以下Jest配置(例如,在
jest.config.<ext>
中或在包文件中的$.jest
下)显式地告诉Jest您不希望它尝试应用任何转换:查看下面的完整示例。或者,您可以保持Babel的转换活动,但使用
"sourceType": "script"
配置它。package.json
:index.test.js
:nmpmafwu2#
我在使用Jest和TypeScript时也遇到了这个问题。
对我有用的是在
tsconfig.json
文件中设置"strict": false
和"noImplicitUseStrict": true
。我还删除了jest.config.ts
文件中的任何jest转换,如下所示:"transform": {}