VS-код превращает «это» в «hasUncaughtExceptionCaptureCallback». Как это отключить?

#javascript #visual-studio-code #jestjs #jasmine

Вопрос:

Я просматриваю книгу о разработке на основе тестов в React. Я никогда раньше не писал тесты на JavaScript. Автор представляет следующий код шутки в файле под названием 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 изменил его? Как отключить эту функцию? Шутка установлена.

Ответ №1:

Похоже , что vscode пытается автозаполнить it и expect , и автоматически импортирует модули process utils/types и.
Даже если ручной импорт не требуется в соответствии с документацией jest:

В ваших тестовых файлах Jest помещает каждый из этих методов и объектов в глобальную среду. Вам не нужно ничего требовать или импортировать, чтобы использовать их. Однако, если вы предпочитаете явный импорт, вы можете выполнить импорт {описать, ожидать, проверить} из «@jest/globals».

Вы можете отключить предупреждения vscode, явно импортировав:

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