Jest: не может найти модуль '@/components/auth/login.vue' из 'src/tests/login.spec.ts'Javascript

Форум по Javascript
Ответить
Anonymous
 Jest: не может найти модуль '@/components/auth/login.vue' из 'src/tests/login.spec.ts'

Сообщение Anonymous »

У меня проблемы с запуском модульных тестов с шутками в проекте Vue 3 + Typescript. Когда я запускаю тест, я получаю следующую ошибку: < /p>

Код: Выделить всё

npx jest --no-cache src/tests/Login.spec.ts
FAIL  src/tests/Login.spec.ts
● Test suite failed to run

Cannot find module '@/components/auth/Login.vue' from 'src/tests/Login.spec.ts'

3 | import { createStore } from 'vuex'
4 | import { Quasar } from 'quasar'
> 5 | import Login from '@/components/auth/Login.vue'
| ^
6 |
7 | // Basic store mock
8 | const mockStore = createStore({

at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at Object.require (src/tests/Login.spec.ts:5:1)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        2.274 s
Ran all test suites matching /src\\tests\\Login.spec.ts/i.
✅ Я использую псевдонимы Path (@) в моем импорте, и компонент существует по адресу src/components/outr/login.vue.
Вот ключевые файлы:
🛠 jest.config.ts:
class = "Snippet-Code">

Код: Выделить всё

/** @type {import('jest').Config} */
const path = require('path');

module.exports = {
preset: 'ts-jest',
testEnvironment: 'jsdom',
moduleFileExtensions: ['js', 'jsx', 'vue', 'ts', 'tsx','d.ts'],
transformIgnorePatterns: [
// Corrected for Windows paths
'node_modules[\\\\/](?!(vue|quasar|@vue[\\\\/]runtime-dom))',
"node_modules/(?!(node-fetch)/)",
'/node_modules/(?!(quasar)/)'
],
coveragePathIgnorePatterns: ['node_modules', 'src/database', 'src/test', 'src/types'],

testPathIgnorePatterns: ['/node_modules/'],
moduleDirectories: ["","node_modules", "src"],
transform: {
// '^.+\\.vue$': 'vue-jest',
'^.+\\.(ts|tsx)$': 'ts-jest',
'^.+\\.(js|jsx|ts|tsx)$':  'babel-jest',
'^.+\\.vue$': '@vue/vue3-jest',
isolatedModules: true,
'^.+\\.[tj]sx?$': ['ts-jest', { tsconfig: './tsconfig.app.json' }]
},
testMatch: ['**/tests/**/*.spec.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(x)'],
globals: {
'ts-jest': {
babelConfig: true,
tsconfig: 'tsconfig.json',
},
},
coverageDirectory: 'coverage',
collectCoverageFrom: [
'src/**/*.{js,jsx,ts,tsx,vue}',
'!src/main.ts', // exclude main boot file
'!src/**/*.d.ts',
'!src/**/types.ts',
'!src/router/**', // exclude router if needed
'!src/**/index.ts', // exclude index files
],

coverageReporters: ['json', 'lcov', 'text', 'clover'],
verbose: true,
moduleNameMapper: {
'^@/(.*)$': '/src/$1',
'^quasar$': 'quasar/dist/quasar.esm.prod.js',
'^vue$': 'vue/dist/vue.runtime.esm-bundler.js'
},

collectCoverage: true,
setupFiles: ["/setupTests.js"],
setupFilesAfterEnv: ['/jest.setup.js'],
roots: ["/src/app", "/src/library", "/tests"],
coverageThreshold: {
global: {
branches: 80,
functions: 80,
lines: 80,
statements: 80
}
}

};< /code>
< /div>
< /div>
< /p>
🧪 src /tests /login.spec.ts: < /p>




Подробнее здесь: [url]https://stackoverflow.com/questions/79667480/jest-cannot-find-module-components-auth-login-vue-from-src-tests-login-sp[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»