Skip to content
Vitest 2
Main Navigation KılavuzAPIYapılandırmaTarayıcı Moduİleri
2.1.9
1.6.1
0.34.6

Türkçe

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
čeština
magyar

Türkçe

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
čeština
magyar

Görünüm

Sidebar Navigation

Neden Vitest

Başlangıç

Özellikler

Çalışma Alanı

Komut Satırı Arayüzü

Test Filtreleme

Raporlayıcılar

Kapsam

Anlık Görüntü (Snapshot) Testleri

Sahtecilik (Mocking)

Türleri Test Etme

Vitest Arayüzü

Kaynak İçi Test

Test Bağlamı

Test Ortamı

Eşleştiricileri Genişletme

IDE Tümleştirmeleri

Hata Ayıklama

Diğer Test Çalıştırıcılarıyla Karşılaştırmalar

Geçiş Rehberi

Yaygın Hatalar

Profiling Test Performance

Performansı İyileştirme

Bu sayfada

Sık Karşılaşılan Hatalar ​

'./relative-path' modülü bulunamıyor ​

Modül bulunamadı hatası almanızın birkaç farklı nedeni olabilir:

    1. Yol yanlış yazılmış olabilir. Lütfen yolun doğru olduğundan emin olun.
    1. tsconfig.json dosyanızdaki baseUrl ayarına güveniyor olabilirsiniz. Vite, varsayılan olarak tsconfig.json dosyasını dikkate almaz. Bu davranışa güveniyorsanız, vite-tsconfig-paths eklentisini manuel olarak yüklemeniz gerekebilir.
ts
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';

export default defineConfig({
  plugins: [tsconfigPaths()],
});

Alternatif olarak, yolunuzu kök dizine göreceli olmaktan çıkarabilirsiniz:

diff
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'
    1. Göreceli takma adlar kullanmadığınızdan emin olun. Vite, bu takma adları içe aktarılan dosyaya göreceli olarak ele alır, kök dizine göre değil.
ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    alias: {
      '@/': './src/', 
      '@/': new URL('./src/', import.meta.url).pathname, 
    },
  },
});

"./mocked-file.js" zaten yüklü olduğu için taklit edilemiyor ​

Bu hata, vi.mock yöntemi zaten yüklenmiş bir modül için çağrıldığında meydana gelir. Vitest bu hatayı verir çünkü önbelleğe alınmış modüller tercih edildiğinden bu çağrının bir etkisi olmayacaktır.

vi.mock'un her zaman hoisted (yukarı taşınmış) olduğunu unutmayın. Bu, modülün test dosyası yürütülmeye başlamadan önce (büyük olasılıkla bir kurulum dosyasında) yüklendiği anlamına gelir. Hatayı düzeltmek için, içe aktarmayı kaldırın veya bir kurulum dosyasının sonunda önbelleği temizleyin. Bu durumda, kurulum dosyası ve test dosyanızın farklı modüllere başvuracağı unutulmamalıdır.

ts
// setupFile.js
import { vi } from 'vitest';
import { sideEffect } from './mocked-file.js';

sideEffect();

vi.resetModules();

Çalışan sonlandırılamadı ​

Bu hata, NodeJS'in fetch'i varsayılan pool: 'threads' ile kullanıldığında ortaya çıkabilir. Bu sorun, Timeout abort can leave process(es) running in the background #3077 numaralı GitHub sorununda takip edilmektedir.

Geçici bir çözüm olarak pool: 'forks' veya pool: 'vmForks' kullanabilirsiniz.

ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    pool: 'forks',
  },
});
bash
vitest --pool=forks

Segmentasyon Hataları ve Yerel Kod Hataları ​

pool: 'threads' içinde yerel NodeJS modüllerini çalıştırmak, yerel koddan kaynaklanan anlaşılması zor hatalara yol açabilir.

  • Segmentation fault (core dumped)
  • thread '<unnamed>' panicked at 'assertion failed
  • Abort trap: 6
  • internal error: entered unreachable code

Bu durumlarda, yerel modülün çoklu iş parçacığı güvenli olarak tasarlanmamış olması muhtemeldir. Geçici bir çözüm olarak, test durumlarını birden çok node:worker_threads yerine birden çok node:child_process içinde çalıştıran pool: 'forks''a geçebilirsiniz.

ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    pool: 'forks',
  },
});
bash
vitest --pool=forks
Pager
Önceki sayfaGeçiş Rehberi
Sonraki sayfaProfiling Test Performance

MIT Lisansı altında yayınlanmıştır.

Copyright (c) 2024 Mithril Contributors

https://v2.vitest.dev/guide/common-errors

MIT Lisansı altında yayınlanmıştır.

Copyright (c) 2024 Mithril Contributors