首页 > 解决方案 > VS 代码将“它”变成“hasUncaughtExceptionCaptureCallback”。如何禁用此功能?

问题描述

我正在阅读一本关于 React 中的测试驱动开发的书。我以前从未编写过 JavaScript 测试。作者在一个名为 的文件中提供了以下 Jest 代码calc.test.js

var add = require('./calc.js')

describe('calculator',function() {
  it('add two numbers',function() {
    expect(add(1,2)).toEqual(3)
  })
})

但 VS 代码会自动将其转换为:

const { hasUncaughtExceptionCaptureCallback } = require('process')
const { isTypedArray } = require('util/types')
var add = require('./calc.js')
describe('calculator', function () {
    isTypedArray('add two numbers', function () {
        hasUncaughtExceptionCaptureCallback(add(1, 2).toEqual(3))
    })
})

作者声明他的版本使用“借用”茉莉花的语法。这就是VS Code改变它的原因吗?如何关闭此功能?Jest 已安装。

标签: javascriptvisual-studio-codejestjsjasmine

解决方案


似乎 vscode 尝试自动完成itexpect,并自动导入模块processutils/types.
即使根据笑话文档不需要手动导入:

在您的测试文件中,Jest 将这些方法和对象中的每一个放入全局环境中。您不必要求或导入任何东西来使用它们。但是,如果您更喜欢显式导入,则可以从 '@jest/globals' 导入 {describe, expect, test}。

您可以通过显式导入来消除 vscode 警告:

import {describe, expect, test} from '@jest/globals'

推荐阅读