#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'