如何在 Jest 中禁用“使用严格”"/>
如何在 Jest 中禁用“使用严格”
我正在为使用八进制文字的代码库编写一些单元测试。每当用
npm test
执行测试时,出现语法错误如下:
在严格模式下不允许遗留八进制文字。
我要强调的是,
"use strict"
没有出现在源代码的任何地方,我也不能在 package-lock.json
或 package.json
中找到任何选项来表示严格模式。这两个 JSON 文件都是使用 npm init -y
创建的,除了添加: 之外没有得到进一步的修改
"scripts": {
"test": "jest"
},
如何强制 Jest 退出严格模式,以便使用遗留八进制文字测试代码?
回答如下:根据文档:
默认情况下,Jest 将使用
transformerbabel-jest
您可以通过设置以下 Jest 配置明确告诉 Jest 您不希望它尝试应用任何转换(例如,在包文件中的
jest.config.<ext>
或 $.jest
下):
"transform": {}
请参阅下面的完整示例。或者,您可以保持 Babel 的转换处于活动状态,但使用 "sourceType": "script"
configure 它。
:package.json
{ "name": "strict-jest", "version": "0.1.0", "description": "", "main": "index.js", "scripts": { "test": "jest" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "jest": "^28.1.2" }, "jest": { "transform": {} } }
:index.test.js
it("works", () => { expect(0100).toEqual(64); });
输出:
$ npm t > [email protected] test > jest PASS ./index.test.js ✓ works (2 ms) Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total Snapshots: 0 total Time: 0.257 s Ran all test suites.
更多推荐
如何在 Jest 中禁用“使用严格”
发布评论