ошибка типа utils теста vue: Не удается уничтожить свойство `конфигурация` «неопределенного» или «null»

#vue-test-utils

Вопрос:

Я провожу простой модульный тест с помощью утилит vue test. но это не работает. Я понятия не имею…. Помоги мне

Я установил эти штуки…..

 > $ npm i -D jest @vue/test-utils vue-jest jest-serializer-vue babel-jest babel-core@bridge

> $ npm i -D @babel/core @babel/preset-env
 

Я сделал jest.config.js файл

 module.exports = {
  moduleFileExtensions: [
    'vue',
    'js'
  ],

  moduleNameMapper: {
    '^~/(.*)

и tests/Parent.test.js

 import { mount } from '@vue/test-utils'
import Parent from './Parent.vue'

test('Mount', () => {
  const wrapper = mount(Parent)
  expect(wrapper.html()).toBe('')
})
 

но тест запуска npm:единичная ошибка, подобная этой

  FAIL  tests/Parent.test.js
  ● Test suite failed to run

    TypeError: Cannot destructure property `config` of 'undefined' or 'null'.

      at Object.getCacheKey (node_modules/vue-jest/lib/index.js:10:5)
      at ScriptTransformer._getCacheKey (node_modules/@jest/transform/build/ScriptTransformer.js:280:41)
      at ScriptTransformer._getFileCachePath (node_modules/@jest/transform/build/ScriptTransformer.js:351:27)
      at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:588:32)
      at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:758:40)
      at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:815:19)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        0.512 s
Ran all test suites.
 

введите описание изображения здесь

Ответ №1:

Пакет отходит от семантического управления версиями для поддержки различных версий Vue (2.x, 3.x) и версий Jest (26.x, 27.x). Итак, если вы используете Vue 3.x и Jest 27.x, вам нужно установить vue3-jest, а не vue-jest.

 npm i vue3-jest -D

# or

yarn add vue3-jest --dev
 

Затем обновите свой jest.config.js следующим образом:

 module.exports = {
  moduleFileExtensions: ['vue', 'js', 'json', 'jsx'],
  testEnvironment: 'jsdom',
  transform: {
    '^. \.vue

К моменту написания этого ответа имя пакета и управление версиями были примерно такими:

введите описание изображения здесь

Вы можете прочитать больше о новой стратегии именования и управления версиями здесь.


Ответ №2:

Если вы используете версию 27 jest, попробуйте понизить рейтинг до версии 26. Не забудьте понизить уровень babel-jest и ts-jest также до версии 26. Я получал следующую ошибку, и это сделало это за меня:

Невозможно уничтожить свойство "конфигурация ""неопределенного", поскольку оно не определено.

Комментарии:

1. Это была хорошая подсказка для меня, я использовал Jest 27, но мне также нужно было обновить его компаньона babel-jest до 27, так как он все еще был на 24. После того, как я обновил его, он начал работать.

2. @jfunk рад, что это помогло

3. У меня есть "вавилонская шутка": "^27.0.6", "шутка": "^27.0.6", "ts-шутка": "^27.0.4", но все равно это не работает

4. Работает на меня, спасибо. Понижение до "ts-шутка": "26.5.6", "шутка": "^26.6.3"

Ответ №3:

Столкнулся с теми же проблемами, пытаясь заставить Vue3, Jest и Typescript работать вместе. Вот как мне удалось заставить это работать. Это вопрос выравнивания планет с зависимостями.

  • Сначала я предлагаю очистить package.json от любой шутки, упоминающей зависимость (особенно, если, как и я, вы проводите несколько дней, пытаясь установить и удалить зависимости, исполняя танец дождя, держа подкову).
  • добавить в пакет.json
    "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-env": "^7.14.7", "babel-core": "^7.0.0-bridge.0", "typescript": "^4.3.5", "@vue/test-utils": "^2.0.0-rc.9", "jest": "^26.5.6", "ts-jest": "^26.5.6", "babel-jest": "^26.5.6", "vue-jest": "^5.0.0-alpha.10", "@vue/cli-plugin-unit-jest": "5.0.0-beta.2" } (убедитесь, что у этого отделения одна и та же версия: jest, ts-jest и babel-jest)
  • все еще в пакете.json добавить скрипт "scripts": { "test": "jest" },
  • нпм i
  • запуск теста npm

И для меня это сейчас работает. Надеюсь, это может помочь кому-то еще.

: '<rootDir>/src/$1'
},

modulePathIgnorePatterns: [
'<rootDir>/node_modules',
'<rootDir>/dist'
],

testURL: 'http://localhost',

transform: {
'^. \.vueи tests/Parent.test.js


но тест запуска npm:единичная ошибка, подобная этой


введите описание изображения здесь

Ответ №1:

Пакет отходит от семантического управления версиями для поддержки различных версий Vue (2.x, 3.x) и версий Jest (26.x, 27.x). Итак, если вы используете Vue 3.x и Jest 27.x, вам нужно установить vue3-jest, а не vue-jest.


Затем обновите свой jest.config.js следующим образом:


К моменту написания этого ответа имя пакета и управление версиями были примерно такими:

введите описание изображения здесь

Вы можете прочитать больше о новой стратегии именования и управления версиями здесь.

Ответ №2:

Если вы используете версию 27 jest, попробуйте понизить рейтинг до версии 26. Не забудьте понизить уровень babel-jest и ts-jest также до версии 26. Я получал следующую ошибку, и это сделало это за меня:

Невозможно уничтожить свойство "конфигурация ""неопределенного", поскольку оно не определено.

Комментарии:

1. Это была хорошая подсказка для меня, я использовал Jest 27, но мне также нужно было обновить его компаньона babel-jest до 27, так как он все еще был на 24. После того, как я обновил его, он начал работать.

2. @jfunk рад, что это помогло

3. У меня есть "вавилонская шутка": "^27.0.6", "шутка": "^27.0.6", "ts-шутка": "^27.0.4", но все равно это не работает

4. Работает на меня, спасибо. Понижение до "ts-шутка": "26.5.6", "шутка": "^26.6.3"

Ответ №3:

Столкнулся с теми же проблемами, пытаясь заставить Vue3, Jest и Typescript работать вместе. Вот как мне удалось заставить это работать. Это вопрос выравнивания планет с зависимостями.

  • Сначала я предлагаю очистить package.json от любой шутки, упоминающей зависимость (особенно, если, как и я, вы проводите несколько дней, пытаясь установить и удалить зависимости, исполняя танец дождя, держа подкову).
  • добавить в пакет.json
    "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-env": "^7.14.7", "babel-core": "^7.0.0-bridge.0", "typescript": "^4.3.5", "@vue/test-utils": "^2.0.0-rc.9", "jest": "^26.5.6", "ts-jest": "^26.5.6", "babel-jest": "^26.5.6", "vue-jest": "^5.0.0-alpha.10", "@vue/cli-plugin-unit-jest": "5.0.0-beta.2" } (убедитесь, что у этого отделения одна и та же версия: jest, ts-jest и babel-jest)
  • все еще в пакете.json добавить скрипт "scripts": { "test": "jest" },
  • нпм i
  • запуск теста npm

И для меня это сейчас работает. Надеюсь, это может помочь кому-то еще.

: 'vue-jest',
'^. \.jsx?и tests/Parent.test.js


но тест запуска npm:единичная ошибка, подобная этой


введите описание изображения здесь

Ответ №1:

Пакет отходит от семантического управления версиями для поддержки различных версий Vue (2.x, 3.x) и версий Jest (26.x, 27.x). Итак, если вы используете Vue 3.x и Jest 27.x, вам нужно установить vue3-jest, а не vue-jest.


Затем обновите свой jest.config.js следующим образом:


К моменту написания этого ответа имя пакета и управление версиями были примерно такими:

введите описание изображения здесь

Вы можете прочитать больше о новой стратегии именования и управления версиями здесь.

Ответ №2:

Если вы используете версию 27 jest, попробуйте понизить рейтинг до версии 26. Не забудьте понизить уровень babel-jest и ts-jest также до версии 26. Я получал следующую ошибку, и это сделало это за меня:

Невозможно уничтожить свойство "конфигурация ""неопределенного", поскольку оно не определено.

Комментарии:

1. Это была хорошая подсказка для меня, я использовал Jest 27, но мне также нужно было обновить его компаньона babel-jest до 27, так как он все еще был на 24. После того, как я обновил его, он начал работать.

2. @jfunk рад, что это помогло

3. У меня есть "вавилонская шутка": "^27.0.6", "шутка": "^27.0.6", "ts-шутка": "^27.0.4", но все равно это не работает

4. Работает на меня, спасибо. Понижение до "ts-шутка": "26.5.6", "шутка": "^26.6.3"

Ответ №3:

Столкнулся с теми же проблемами, пытаясь заставить Vue3, Jest и Typescript работать вместе. Вот как мне удалось заставить это работать. Это вопрос выравнивания планет с зависимостями.

  • Сначала я предлагаю очистить package.json от любой шутки, упоминающей зависимость (особенно, если, как и я, вы проводите несколько дней, пытаясь установить и удалить зависимости, исполняя танец дождя, держа подкову).
  • добавить в пакет.json
    "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-env": "^7.14.7", "babel-core": "^7.0.0-bridge.0", "typescript": "^4.3.5", "@vue/test-utils": "^2.0.0-rc.9", "jest": "^26.5.6", "ts-jest": "^26.5.6", "babel-jest": "^26.5.6", "vue-jest": "^5.0.0-alpha.10", "@vue/cli-plugin-unit-jest": "5.0.0-beta.2" } (убедитесь, что у этого отделения одна и та же версия: jest, ts-jest и babel-jest)
  • все еще в пакете.json добавить скрипт "scripts": { "test": "jest" },
  • нпм i
  • запуск теста npm

И для меня это сейчас работает. Надеюсь, это может помочь кому-то еще.

: 'babel-jest'
}
}
и tests/Parent.test.js


но тест запуска npm:единичная ошибка, подобная этой


введите описание изображения здесь

Ответ №1:

Пакет отходит от семантического управления версиями для поддержки различных версий Vue (2.x, 3.x) и версий Jest (26.x, 27.x). Итак, если вы используете Vue 3.x и Jest 27.x, вам нужно установить vue3-jest, а не vue-jest.


Затем обновите свой jest.config.js следующим образом:


К моменту написания этого ответа имя пакета и управление версиями были примерно такими:

введите описание изображения здесь

Вы можете прочитать больше о новой стратегии именования и управления версиями здесь.

Ответ №2:

Если вы используете версию 27 jest, попробуйте понизить рейтинг до версии 26. Не забудьте понизить уровень babel-jest и ts-jest также до версии 26. Я получал следующую ошибку, и это сделало это за меня:

Невозможно уничтожить свойство "конфигурация ""неопределенного", поскольку оно не определено.

Комментарии:

1. Это была хорошая подсказка для меня, я использовал Jest 27, но мне также нужно было обновить его компаньона babel-jest до 27, так как он все еще был на 24. После того, как я обновил его, он начал работать.

2. @jfunk рад, что это помогло

3. У меня есть "вавилонская шутка": "^27.0.6", "шутка": "^27.0.6", "ts-шутка": "^27.0.4", но все равно это не работает

4. Работает на меня, спасибо. Понижение до "ts-шутка": "26.5.6", "шутка": "^26.6.3"

Ответ №3:

Столкнулся с теми же проблемами, пытаясь заставить Vue3, Jest и Typescript работать вместе. Вот как мне удалось заставить это работать. Это вопрос выравнивания планет с зависимостями.

  • Сначала я предлагаю очистить package.json от любой шутки, упоминающей зависимость (особенно, если, как и я, вы проводите несколько дней, пытаясь установить и удалить зависимости, исполняя танец дождя, держа подкову).
  • добавить в пакет.json
    "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-env": "^7.14.7", "babel-core": "^7.0.0-bridge.0", "typescript": "^4.3.5", "@vue/test-utils": "^2.0.0-rc.9", "jest": "^26.5.6", "ts-jest": "^26.5.6", "babel-jest": "^26.5.6", "vue-jest": "^5.0.0-alpha.10", "@vue/cli-plugin-unit-jest": "5.0.0-beta.2" } (убедитесь, что у этого отделения одна и та же версия: jest, ts-jest и babel-jest)
  • все еще в пакете.json добавить скрипт "scripts": { "test": "jest" },
  • нпм i
  • запуск теста npm

И для меня это сейчас работает. Надеюсь, это может помочь кому-то еще.

: 'vue3-jest',
'^. \jsК моменту написания этого ответа имя пакета и управление версиями были примерно такими:

введите описание изображения здесь

Вы можете прочитать больше о новой стратегии именования и управления версиями здесь.

Ответ №2:

Если вы используете версию 27 jest, попробуйте понизить рейтинг до версии 26. Не забудьте понизить уровень babel-jest и ts-jest также до версии 26. Я получал следующую ошибку, и это сделало это за меня:

Невозможно уничтожить свойство "конфигурация ""неопределенного", поскольку оно не определено.

Комментарии:

1. Это была хорошая подсказка для меня, я использовал Jest 27, но мне также нужно было обновить его компаньона babel-jest до 27, так как он все еще был на 24. После того, как я обновил его, он начал работать.

2. @jfunk рад, что это помогло

3. У меня есть "вавилонская шутка": "^27.0.6", "шутка": "^27.0.6", "ts-шутка": "^27.0.4", но все равно это не работает

4. Работает на меня, спасибо. Понижение до "ts-шутка": "26.5.6", "шутка": "^26.6.3"

Ответ №3:

Столкнулся с теми же проблемами, пытаясь заставить Vue3, Jest и Typescript работать вместе. Вот как мне удалось заставить это работать. Это вопрос выравнивания планет с зависимостями.

  • Сначала я предлагаю очистить package.json от любой шутки, упоминающей зависимость (особенно, если, как и я, вы проводите несколько дней, пытаясь установить и удалить зависимости, исполняя танец дождя, держа подкову).
  • добавить в пакет.json
    "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-env": "^7.14.7", "babel-core": "^7.0.0-bridge.0", "typescript": "^4.3.5", "@vue/test-utils": "^2.0.0-rc.9", "jest": "^26.5.6", "ts-jest": "^26.5.6", "babel-jest": "^26.5.6", "vue-jest": "^5.0.0-alpha.10", "@vue/cli-plugin-unit-jest": "5.0.0-beta.2" } (убедитесь, что у этого отделения одна и та же версия: jest, ts-jest и babel-jest)
  • все еще в пакете.json добавить скрипт "scripts": { "test": "jest" },
  • нпм i
  • запуск теста npm

И для меня это сейчас работает. Надеюсь, это может помочь кому-то еще.

: '<rootDir>/src/$1'
},

modulePathIgnorePatterns: [
'<rootDir>/node_modules',
'<rootDir>/dist'
],

testURL: 'http://localhost',

transform: {
'^. \.vueи tests/Parent.test.js


но тест запуска npm:единичная ошибка, подобная этой


введите описание изображения здесь

Ответ №1:

Пакет отходит от семантического управления версиями для поддержки различных версий Vue (2.x, 3.x) и версий Jest (26.x, 27.x). Итак, если вы используете Vue 3.x и Jest 27.x, вам нужно установить vue3-jest, а не vue-jest.


Затем обновите свой jest.config.js следующим образом:


К моменту написания этого ответа имя пакета и управление версиями были примерно такими:

введите описание изображения здесь

Вы можете прочитать больше о новой стратегии именования и управления версиями здесь.

Ответ №2:

Если вы используете версию 27 jest, попробуйте понизить рейтинг до версии 26. Не забудьте понизить уровень babel-jest и ts-jest также до версии 26. Я получал следующую ошибку, и это сделало это за меня:

Невозможно уничтожить свойство "конфигурация ""неопределенного", поскольку оно не определено.

Комментарии:

1. Это была хорошая подсказка для меня, я использовал Jest 27, но мне также нужно было обновить его компаньона babel-jest до 27, так как он все еще был на 24. После того, как я обновил его, он начал работать.

2. @jfunk рад, что это помогло

3. У меня есть "вавилонская шутка": "^27.0.6", "шутка": "^27.0.6", "ts-шутка": "^27.0.4", но все равно это не работает

4. Работает на меня, спасибо. Понижение до "ts-шутка": "26.5.6", "шутка": "^26.6.3"

Ответ №3:

Столкнулся с теми же проблемами, пытаясь заставить Vue3, Jest и Typescript работать вместе. Вот как мне удалось заставить это работать. Это вопрос выравнивания планет с зависимостями.

  • Сначала я предлагаю очистить package.json от любой шутки, упоминающей зависимость (особенно, если, как и я, вы проводите несколько дней, пытаясь установить и удалить зависимости, исполняя танец дождя, держа подкову).
  • добавить в пакет.json
    "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-env": "^7.14.7", "babel-core": "^7.0.0-bridge.0", "typescript": "^4.3.5", "@vue/test-utils": "^2.0.0-rc.9", "jest": "^26.5.6", "ts-jest": "^26.5.6", "babel-jest": "^26.5.6", "vue-jest": "^5.0.0-alpha.10", "@vue/cli-plugin-unit-jest": "5.0.0-beta.2" } (убедитесь, что у этого отделения одна и та же версия: jest, ts-jest и babel-jest)
  • все еще в пакете.json добавить скрипт "scripts": { "test": "jest" },
  • нпм i
  • запуск теста npm

И для меня это сейчас работает. Надеюсь, это может помочь кому-то еще.

: 'vue-jest',
'^. \.jsx?и tests/Parent.test.js


но тест запуска npm:единичная ошибка, подобная этой


введите описание изображения здесь

Ответ №1:

Пакет отходит от семантического управления версиями для поддержки различных версий Vue (2.x, 3.x) и версий Jest (26.x, 27.x). Итак, если вы используете Vue 3.x и Jest 27.x, вам нужно установить vue3-jest, а не vue-jest.


Затем обновите свой jest.config.js следующим образом:


К моменту написания этого ответа имя пакета и управление версиями были примерно такими:

введите описание изображения здесь

Вы можете прочитать больше о новой стратегии именования и управления версиями здесь.

Ответ №2:

Если вы используете версию 27 jest, попробуйте понизить рейтинг до версии 26. Не забудьте понизить уровень babel-jest и ts-jest также до версии 26. Я получал следующую ошибку, и это сделало это за меня:

Невозможно уничтожить свойство "конфигурация ""неопределенного", поскольку оно не определено.

Комментарии:

1. Это была хорошая подсказка для меня, я использовал Jest 27, но мне также нужно было обновить его компаньона babel-jest до 27, так как он все еще был на 24. После того, как я обновил его, он начал работать.

2. @jfunk рад, что это помогло

3. У меня есть "вавилонская шутка": "^27.0.6", "шутка": "^27.0.6", "ts-шутка": "^27.0.4", но все равно это не работает

4. Работает на меня, спасибо. Понижение до "ts-шутка": "26.5.6", "шутка": "^26.6.3"

Ответ №3:

Столкнулся с теми же проблемами, пытаясь заставить Vue3, Jest и Typescript работать вместе. Вот как мне удалось заставить это работать. Это вопрос выравнивания планет с зависимостями.

  • Сначала я предлагаю очистить package.json от любой шутки, упоминающей зависимость (особенно, если, как и я, вы проводите несколько дней, пытаясь установить и удалить зависимости, исполняя танец дождя, держа подкову).
  • добавить в пакет.json
    "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-env": "^7.14.7", "babel-core": "^7.0.0-bridge.0", "typescript": "^4.3.5", "@vue/test-utils": "^2.0.0-rc.9", "jest": "^26.5.6", "ts-jest": "^26.5.6", "babel-jest": "^26.5.6", "vue-jest": "^5.0.0-alpha.10", "@vue/cli-plugin-unit-jest": "5.0.0-beta.2" } (убедитесь, что у этого отделения одна и та же версия: jest, ts-jest и babel-jest)
  • все еще в пакете.json добавить скрипт "scripts": { "test": "jest" },
  • нпм i
  • запуск теста npm

И для меня это сейчас работает. Надеюсь, это может помочь кому-то еще.

: 'babel-jest'
}
}
и tests/Parent.test.js


но тест запуска npm:единичная ошибка, подобная этой


введите описание изображения здесь

Ответ №1:

Пакет отходит от семантического управления версиями для поддержки различных версий Vue (2.x, 3.x) и версий Jest (26.x, 27.x). Итак, если вы используете Vue 3.x и Jest 27.x, вам нужно установить vue3-jest, а не vue-jest.


Затем обновите свой jest.config.js следующим образом:


К моменту написания этого ответа имя пакета и управление версиями были примерно такими:

введите описание изображения здесь

Вы можете прочитать больше о новой стратегии именования и управления версиями здесь.

Ответ №2:

Если вы используете версию 27 jest, попробуйте понизить рейтинг до версии 26. Не забудьте понизить уровень babel-jest и ts-jest также до версии 26. Я получал следующую ошибку, и это сделало это за меня:

Невозможно уничтожить свойство «конфигурация «»неопределенного», поскольку оно не определено.

Комментарии:

1. Это была хорошая подсказка для меня, я использовал Jest 27, но мне также нужно было обновить его компаньона babel-jest до 27, так как он все еще был на 24. После того, как я обновил его, он начал работать.

2. @jfunk рад, что это помогло

3. У меня есть «вавилонская шутка»: «^27.0.6», «шутка»: «^27.0.6», «ts-шутка»: «^27.0.4», но все равно это не работает

4. Работает на меня, спасибо. Понижение до «ts-шутка»: «26.5.6», «шутка»: «^26.6.3»

Ответ №3:

Столкнулся с теми же проблемами, пытаясь заставить Vue3, Jest и Typescript работать вместе. Вот как мне удалось заставить это работать. Это вопрос выравнивания планет с зависимостями.

  • Сначала я предлагаю очистить package.json от любой шутки, упоминающей зависимость (особенно, если, как и я, вы проводите несколько дней, пытаясь установить и удалить зависимости, исполняя танец дождя, держа подкову).
  • добавить в пакет.json
    "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-env": "^7.14.7", "babel-core": "^7.0.0-bridge.0", "typescript": "^4.3.5", "@vue/test-utils": "^2.0.0-rc.9", "jest": "^26.5.6", "ts-jest": "^26.5.6", "babel-jest": "^26.5.6", "vue-jest": "^5.0.0-alpha.10", "@vue/cli-plugin-unit-jest": "5.0.0-beta.2" } (убедитесь, что у этого отделения одна и та же версия: jest, ts-jest и babel-jest)
  • все еще в пакете.json добавить скрипт "scripts": { "test": "jest" },
  • нпм i
  • запуск теста npm

И для меня это сейчас работает. Надеюсь, это может помочь кому-то еще.

: ‘babel-jest’,
},
}К моменту написания этого ответа имя пакета и управление версиями были примерно такими:

введите описание изображения здесь

Вы можете прочитать больше о новой стратегии именования и управления версиями здесь.

Ответ №2:

Если вы используете версию 27 jest, попробуйте понизить рейтинг до версии 26. Не забудьте понизить уровень babel-jest и ts-jest также до версии 26. Я получал следующую ошибку, и это сделало это за меня:

Невозможно уничтожить свойство «конфигурация «»неопределенного», поскольку оно не определено.

Комментарии:

1. Это была хорошая подсказка для меня, я использовал Jest 27, но мне также нужно было обновить его компаньона babel-jest до 27, так как он все еще был на 24. После того, как я обновил его, он начал работать.

2. @jfunk рад, что это помогло

3. У меня есть «вавилонская шутка»: «^27.0.6», «шутка»: «^27.0.6», «ts-шутка»: «^27.0.4», но все равно это не работает

4. Работает на меня, спасибо. Понижение до «ts-шутка»: «26.5.6», «шутка»: «^26.6.3»

Ответ №3:

Столкнулся с теми же проблемами, пытаясь заставить Vue3, Jest и Typescript работать вместе. Вот как мне удалось заставить это работать. Это вопрос выравнивания планет с зависимостями.

  • Сначала я предлагаю очистить package.json от любой шутки, упоминающей зависимость (особенно, если, как и я, вы проводите несколько дней, пытаясь установить и удалить зависимости, исполняя танец дождя, держа подкову).
  • добавить в пакет.json
    "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-env": "^7.14.7", "babel-core": "^7.0.0-bridge.0", "typescript": "^4.3.5", "@vue/test-utils": "^2.0.0-rc.9", "jest": "^26.5.6", "ts-jest": "^26.5.6", "babel-jest": "^26.5.6", "vue-jest": "^5.0.0-alpha.10", "@vue/cli-plugin-unit-jest": "5.0.0-beta.2" } (убедитесь, что у этого отделения одна и та же версия: jest, ts-jest и babel-jest)
  • все еще в пакете.json добавить скрипт "scripts": { "test": "jest" },
  • нпм i
  • запуск теста npm

И для меня это сейчас работает. Надеюсь, это может помочь кому-то еще.

: ‘<rootDir>/src/$1’
},

modulePathIgnorePatterns: [
‘<rootDir>/node_modules’,
‘<rootDir>/dist’
],

testURL: ‘http://localhost’,

transform: {
‘^. \.vueи tests/Parent.test.js


но тест запуска npm:единичная ошибка, подобная этой


введите описание изображения здесь

Ответ №1:

Пакет отходит от семантического управления версиями для поддержки различных версий Vue (2.x, 3.x) и версий Jest (26.x, 27.x). Итак, если вы используете Vue 3.x и Jest 27.x, вам нужно установить vue3-jest, а не vue-jest.


Затем обновите свой jest.config.js следующим образом:


К моменту написания этого ответа имя пакета и управление версиями были примерно такими:

введите описание изображения здесь

Вы можете прочитать больше о новой стратегии именования и управления версиями здесь.

Ответ №2:

Если вы используете версию 27 jest, попробуйте понизить рейтинг до версии 26. Не забудьте понизить уровень babel-jest и ts-jest также до версии 26. Я получал следующую ошибку, и это сделало это за меня:

Невозможно уничтожить свойство «конфигурация «»неопределенного», поскольку оно не определено.

Комментарии:

1. Это была хорошая подсказка для меня, я использовал Jest 27, но мне также нужно было обновить его компаньона babel-jest до 27, так как он все еще был на 24. После того, как я обновил его, он начал работать.

2. @jfunk рад, что это помогло

3. У меня есть «вавилонская шутка»: «^27.0.6», «шутка»: «^27.0.6», «ts-шутка»: «^27.0.4», но все равно это не работает

4. Работает на меня, спасибо. Понижение до «ts-шутка»: «26.5.6», «шутка»: «^26.6.3»

Ответ №3:

Столкнулся с теми же проблемами, пытаясь заставить Vue3, Jest и Typescript работать вместе. Вот как мне удалось заставить это работать. Это вопрос выравнивания планет с зависимостями.

  • Сначала я предлагаю очистить package.json от любой шутки, упоминающей зависимость (особенно, если, как и я, вы проводите несколько дней, пытаясь установить и удалить зависимости, исполняя танец дождя, держа подкову).
  • добавить в пакет.json
    "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-env": "^7.14.7", "babel-core": "^7.0.0-bridge.0", "typescript": "^4.3.5", "@vue/test-utils": "^2.0.0-rc.9", "jest": "^26.5.6", "ts-jest": "^26.5.6", "babel-jest": "^26.5.6", "vue-jest": "^5.0.0-alpha.10", "@vue/cli-plugin-unit-jest": "5.0.0-beta.2" } (убедитесь, что у этого отделения одна и та же версия: jest, ts-jest и babel-jest)
  • все еще в пакете.json добавить скрипт "scripts": { "test": "jest" },
  • нпм i
  • запуск теста npm

И для меня это сейчас работает. Надеюсь, это может помочь кому-то еще.

: ‘vue-jest’,
‘^. \.jsx?и tests/Parent.test.js


но тест запуска npm:единичная ошибка, подобная этой


введите описание изображения здесь

Ответ №1:

Пакет отходит от семантического управления версиями для поддержки различных версий Vue (2.x, 3.x) и версий Jest (26.x, 27.x). Итак, если вы используете Vue 3.x и Jest 27.x, вам нужно установить vue3-jest, а не vue-jest.


Затем обновите свой jest.config.js следующим образом:


К моменту написания этого ответа имя пакета и управление версиями были примерно такими:

введите описание изображения здесь

Вы можете прочитать больше о новой стратегии именования и управления версиями здесь.

Ответ №2:

Если вы используете версию 27 jest, попробуйте понизить рейтинг до версии 26. Не забудьте понизить уровень babel-jest и ts-jest также до версии 26. Я получал следующую ошибку, и это сделало это за меня:

Невозможно уничтожить свойство «конфигурация «»неопределенного», поскольку оно не определено.

Комментарии:

1. Это была хорошая подсказка для меня, я использовал Jest 27, но мне также нужно было обновить его компаньона babel-jest до 27, так как он все еще был на 24. После того, как я обновил его, он начал работать.

2. @jfunk рад, что это помогло

3. У меня есть «вавилонская шутка»: «^27.0.6», «шутка»: «^27.0.6», «ts-шутка»: «^27.0.4», но все равно это не работает

4. Работает на меня, спасибо. Понижение до «ts-шутка»: «26.5.6», «шутка»: «^26.6.3»

Ответ №3:

Столкнулся с теми же проблемами, пытаясь заставить Vue3, Jest и Typescript работать вместе. Вот как мне удалось заставить это работать. Это вопрос выравнивания планет с зависимостями.

  • Сначала я предлагаю очистить package.json от любой шутки, упоминающей зависимость (особенно, если, как и я, вы проводите несколько дней, пытаясь установить и удалить зависимости, исполняя танец дождя, держа подкову).
  • добавить в пакет.json
    "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-env": "^7.14.7", "babel-core": "^7.0.0-bridge.0", "typescript": "^4.3.5", "@vue/test-utils": "^2.0.0-rc.9", "jest": "^26.5.6", "ts-jest": "^26.5.6", "babel-jest": "^26.5.6", "vue-jest": "^5.0.0-alpha.10", "@vue/cli-plugin-unit-jest": "5.0.0-beta.2" } (убедитесь, что у этого отделения одна и та же версия: jest, ts-jest и babel-jest)
  • все еще в пакете.json добавить скрипт "scripts": { "test": "jest" },
  • нпм i
  • запуск теста npm

И для меня это сейчас работает. Надеюсь, это может помочь кому-то еще.

: ‘babel-jest’
}
}и tests/Parent.test.js


но тест запуска npm:единичная ошибка, подобная этой


введите описание изображения здесь

Ответ №1:

Пакет отходит от семантического управления версиями для поддержки различных версий Vue (2.x, 3.x) и версий Jest (26.x, 27.x). Итак, если вы используете Vue 3.x и Jest 27.x, вам нужно установить vue3-jest, а не vue-jest.


Затем обновите свой jest.config.js следующим образом:


К моменту написания этого ответа имя пакета и управление версиями были примерно такими:

введите описание изображения здесь

Вы можете прочитать больше о новой стратегии именования и управления версиями здесь.

Ответ №2:

Если вы используете версию 27 jest, попробуйте понизить рейтинг до версии 26. Не забудьте понизить уровень babel-jest и ts-jest также до версии 26. Я получал следующую ошибку, и это сделало это за меня:

Невозможно уничтожить свойство «конфигурация «»неопределенного», поскольку оно не определено.

Комментарии:

1. Это была хорошая подсказка для меня, я использовал Jest 27, но мне также нужно было обновить его компаньона babel-jest до 27, так как он все еще был на 24. После того, как я обновил его, он начал работать.

2. @jfunk рад, что это помогло

3. У меня есть «вавилонская шутка»: «^27.0.6», «шутка»: «^27.0.6», «ts-шутка»: «^27.0.4», но все равно это не работает

4. Работает на меня, спасибо. Понижение до «ts-шутка»: «26.5.6», «шутка»: «^26.6.3»

Ответ №3:

Столкнулся с теми же проблемами, пытаясь заставить Vue3, Jest и Typescript работать вместе. Вот как мне удалось заставить это работать. Это вопрос выравнивания планет с зависимостями.

  • Сначала я предлагаю очистить package.json от любой шутки, упоминающей зависимость (особенно, если, как и я, вы проводите несколько дней, пытаясь установить и удалить зависимости, исполняя танец дождя, держа подкову).
  • добавить в пакет.json
    "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-env": "^7.14.7", "babel-core": "^7.0.0-bridge.0", "typescript": "^4.3.5", "@vue/test-utils": "^2.0.0-rc.9", "jest": "^26.5.6", "ts-jest": "^26.5.6", "babel-jest": "^26.5.6", "vue-jest": "^5.0.0-alpha.10", "@vue/cli-plugin-unit-jest": "5.0.0-beta.2" } (убедитесь, что у этого отделения одна и та же версия: jest, ts-jest и babel-jest)
  • все еще в пакете.json добавить скрипт "scripts": { "test": "jest" },
  • нпм i
  • запуск теста npm

И для меня это сейчас работает. Надеюсь, это может помочь кому-то еще.