Skip to content
Vitest 1
Main Navigation KılavuzAPIYapılandırmaİleri
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

Kılavuz

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ü

Tarayıcı Modu

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

Performansı İyileştirme

API

Test API Başvurusu

Sahte Fonksiyonlar

Vi

expect

expectTypeOf

assert

assertType

Yapılandırma

Vitest Yapılandırma Dosyasını Yönetme

Vitest'in Yapılandırılması

Bu sayfada

Komut Satırı Arayüzü ​

Komutlar ​

vitest ​

Vitest'i geçerli dizinde başlatır. Geliştirme ortamında izleme moduna, CI ortamında ise otomatik olarak çalıştırma moduna geçer.

Çalıştırılacak test dosyalarının filtresi olarak ek bir argüman geçirebilirsiniz. Örneğin:

bash
vitest foobar

Yalnızca yollarında foobar bulunan test dosyaları çalıştırılır. Bu filtre yalnızca içerme durumunu kontrol eder ve regexp veya glob desenlerini desteklemez (terminaliniz bunu Vitest'ten önce işlemediği sürece).

vitest run ​

İzleme modu olmadan tek bir çalıştırma yapar.

vitest watch ​

Tüm test paketlerini çalıştırır, ancak değişiklikleri izler ve değişiklik olduğunda testleri yeniden çalıştırır. Argümansız vitest komutuyla aynıdır. CI ortamında vitest run komutuna dönüşür.

vitest dev ​

vitest watch için takma addır.

vitest related ​

Yalnızca belirtilen kaynak dosyalarından etkilenen testleri çalıştırır. Statik içe aktarmalarla (örneğin, import('./index.js') veya import index from './index.js') çalışır, ancak dinamik içe aktarmalarla (örneğin, import(filepath)) çalışmaz. Tüm dosyalar kök dizine göre belirtilmelidir.

lint-staged veya CI kurulumunuzla birlikte kullanmak için uygundur.

bash
vitest related /src/index.ts /src/hello-world.js

TIP

Vitest'in varsayılan olarak izleme modu etkin şekilde çalıştığını unutmayın. lint-staged gibi araçlar kullanıyorsanız, komutun normal şekilde çıkabilmesi için --run seçeneğini de belirtmelisiniz.

js
// .lintstagedrc.js
export default {
  '*.{js,ts}': 'vitest related --run',
};

vitest bench ​

Yalnızca performans sonuçlarını karşılaştıran benchmark testlerini çalıştırır.

Seçenekler ​

Seçenekler
-r, --root <path>Kök dizin yolu
-c, --config <path>Yapılandırma dosyası yolu
-u, --updateAnlık görüntüyü güncelle
-w, --watchİzleme modunu etkinleştir
-t, --testNamePattern <pattern>Belirtilen regexp deseniyle eşleşen tam adlara sahip testleri çalıştır
--dir <path>Test dosyalarını taramak için temel dizin
--uiKullanıcı Arayüzünü etkinleştir
--openKullanıcı Arayüzünü otomatik olarak aç (varsayılan: !process.env.CI)
--api.port [port]Sunucu bağlantı noktasını belirtin. Bağlantı noktası zaten kullanılıyorsa, Vite otomatik olarak bir sonraki kullanılabilir bağlantı noktasını deneyecektir, bu nedenle bu, sunucunun dinlediği gerçek bağlantı noktası olmayabilir. Doğru ise 51204 olarak ayarlanacaktır
--api.host [host]Sunucunun hangi IP adreslerini dinleyeceğini belirtin. LAN ve genel adresler de dahil olmak üzere tüm adresleri dinlemek için bunu 0.0.0.0 veya true olarak ayarlayın
--api.strictPortBağlantı noktasının zaten kullanımda olması durumunda otomatik olarak bir sonraki kullanılabilir bağlantı noktasını denemek yerine çıkmak için true olarak ayarlayın
--silentTestlerden gelen konsol çıktısını sessize al
--hideSkippedTestsAtlanan testlerin günlüklerini gizle
--reporter <name>Raporlayıcıları belirtin
--outputFile <filename/-s>Desteklenen raporlayıcı da belirtilmişse, test sonuçlarını bir dosyaya yazın, birden çok raporlayıcının ayrı çıktıları için cac'nin nokta gösterimini kullanın (örnek: --outputFile.tap=./tap.txt)
--coverage.allTest edilmemiş olanlar da dahil olmak üzere tüm dosyaları rapora dahil edip etmeyeceğini belirtir
--coverage.provider <name>Kapsam toplama aracı seçin, mevcut değerler: "v8", "istanbul" ve "custom"
--coverage.enabledKapsam toplamayı etkinleştirir. --coverage CLI seçeneği kullanılarak geçersiz kılınabilir (varsayılan: false)
--coverage.include <pattern>Kapsama dahil edilen dosyalar glob desenleri olarak. Birden çok desen kullanırken birden çok kez belirtilebilir (varsayılan: **)
--coverage.exclude <pattern>Kapsam dışında tutulacak dosyalar. Birden çok uzantı kullanırken birden çok kez belirtilebilir (varsayılan: Ziyaret edin coverage.exclude)
--coverage.extension <extension>Kapsama dahil edilecek uzantı. Birden çok uzantı kullanırken birden çok kez belirtilebilir (varsayılan: [".js", ".cjs", ".mjs", ".ts", ".mts", ".cts", ".tsx", ".jsx", ".vue", ".svelte"])
--coverage.cleanTestleri çalıştırmadan önce kapsam sonuçlarını temizleyin (varsayılan: true)
--coverage.cleanOnRerunİzleme yeniden çalıştırmasında kapsam raporunu temizleyin (varsayılan: true)
--coverage.reportsDirectory <path>Kapsam raporunun yazılacağı dizin (varsayılan: ./coverage)
--coverage.reporter <name>Kullanılacak kapsam raporlayıcıları. Daha fazla bilgi için coverage.reporter adresini ziyaret edin (varsayılan: ["text", "html", "clover", "json"])
--coverage.reportOnFailureTestler başarısız olsa bile kapsam raporu oluşturun (varsayılan: false)
--coverage.allowExternalProje kökünün dışındaki dosyaların kapsamını toplayın (varsayılan: false)
--coverage.skipFull%100 bildirim, şube ve fonksiyon kapsamına sahip dosyaları göstermeyin (varsayılan: false)
--coverage.thresholds.100Tüm kapsam eşiklerini %100'e ayarlamak için kısayol (varsayılan: false)
--coverage.thresholds.perFileEşikleri dosya başına kontrol edin. Gerçek eşikler için --coverage.thresholds.lines, --coverage.thresholds.functions, --coverage.thresholds.branches ve --coverage.thresholds.statements'a bakın (varsayılan: false)
--coverage.thresholds.autoUpdateGeçerli kapsam yapılandırma eşiklerinin üzerindeyse, eşik değerlerini: "lines", "functions", "branches" ve "statements" yapılandırma dosyasına güncelleyin (varsayılan: false)
--coverage.thresholds.lines <number>Satırlar için eşik. Daha fazla bilgi için istanbuljs adresini ziyaret edin. Bu seçenek özel sağlayıcılar için kullanılamaz
--coverage.thresholds.functions <number>Fonksiyonlar için eşik. Daha fazla bilgi için istanbuljs adresini ziyaret edin. Bu seçenek özel sağlayıcılar için kullanılamaz
--coverage.thresholds.branches <number>Şubeler için eşik. Daha fazla bilgi için istanbuljs adresini ziyaret edin. Bu seçenek özel sağlayıcılar için kullanılamaz
--coverage.thresholds.statements <number>Bildirimler için eşik. Daha fazla bilgi için istanbuljs adresini ziyaret edin. Bu seçenek özel sağlayıcılar için kullanılamaz
--coverage.ignoreClassMethods <name>Kapsam için yoksayılacak sınıf yöntem adlarının dizisi. Daha fazla bilgi için istanbuljs adresini ziyaret edin. Bu seçenek yalnızca istanbul sağlayıcıları için kullanılabilir (varsayılan: [])
--coverage.processingConcurrency <number>Kapsam sonuçları işlenirken kullanılan eşzamanlılık sınırı. (varsayılan: 20 ile CPU sayısı arasındaki min değer)
--coverage.customProviderModule <path>Özel kapsam sağlayıcı modülü için modül adını veya yolunu belirtir. Daha fazla bilgi için Özel Kapsam Sağlayıcı adresini ziyaret edin. Bu seçenek yalnızca özel sağlayıcılar için kullanılabilir
--coverage.watermarks.statements <watermarks><high>,<low> biçiminde ifadeler için yüksek ve düşük filigranlar
--coverage.watermarks.lines <watermarks><high>,<low> biçiminde satırlar için yüksek ve düşük filigranlar
--coverage.watermarks.branches <watermarks><high>,<low> biçiminde şubeler için yüksek ve düşük filigranlar
--coverage.watermarks.functions <watermarks><high>,<low> biçiminde fonksiyonlar için yüksek ve düşük filigranlar
--mode <name>Vite modunu geçersiz kıl (varsayılan: test veya benchmark)
--workspace <path>Bir çalışma alanı yapılandırma dosyasına giden yol
--isolateHer test dosyasını yalıtımda çalıştırın. Yalıtımı devre dışı bırakmak için --no-isolate kullanın (varsayılan: true)
--globalsAPI'leri global olarak ekle
--domhappy-dom ile tarayıcı API'sini taklit et
--browser.enabledTestleri tarayıcıda çalıştırın. --browser.enabled'a eşdeğerdir (varsayılan: false)
--browser.name <name>Tüm testleri belirli bir tarayıcıda çalıştırın. Bazı tarayıcılar yalnızca belirli sağlayıcılar için mevcuttur (bkz. --browser.provider). Daha fazla bilgi için browser.name adresini ziyaret edin
--browser.headlessTarayıcıyı başsız modda çalıştırın (yani GUI (Grafik Kullanıcı Arayüzü) açmadan). Vitest'i CI'da çalıştırıyorsanız, varsayılan olarak etkinleştirilecektir (varsayılan: process.env.CI)
--browser.api.port [port]Sunucu bağlantı noktasını belirtin. Bağlantı noktası zaten kullanılıyorsa, Vite otomatik olarak bir sonraki kullanılabilir bağlantı noktasını deneyecektir, bu nedenle bu, sunucunun dinlediği gerçek bağlantı noktası olmayabilir. Doğru ise 63315 olarak ayarlanacaktır
--browser.api.host [host]Sunucunun hangi IP adreslerini dinleyeceğini belirtin. LAN ve genel adresler de dahil olmak üzere tüm adresleri dinlemek için bunu 0.0.0.0 veya true olarak ayarlayın
--browser.api.strictPortBağlantı noktasının zaten kullanımda olması durumunda otomatik olarak bir sonraki kullanılabilir bağlantı noktasını denemek yerine çıkmak için true olarak ayarlayın
--browser.provider <name>Tarayıcı testlerini çalıştırmak için kullanılan sağlayıcı. Bazı tarayıcılar yalnızca belirli sağlayıcılar için mevcuttur. "webdriverio", "playwright" veya özel bir sağlayıcının yolu olabilir. Daha fazla bilgi için browser.provider adresini ziyaret edin (varsayılan: "webdriverio")
--browser.providerOptions <options>Bir tarayıcı sağlayıcısına aktarılan seçenekler. Daha fazla bilgi için browser.providerOptions adresini ziyaret edin
--browser.slowHijackESMVitest'in vi.mock ve vi.spyOn gibi API'leri etkinleştirmek için tarayıcıdaki kendi modül çözümlemesini kullanmasına izin verin. Daha fazla bilgi için browser.slowHijackESM adresini ziyaret edin (varsayılan: false)
--browser.isolateHer tarayıcı test dosyasını yalıtımda çalıştırın. Yalıtımı devre dışı bırakmak için --browser.isolate=false kullanın (varsayılan: true)
--browser.fileParallelismTüm test dosyaları paralel olarak çalıştırılmalı mı? Devre dışı bırakmak için --browser.file-parallelism=false kullanın (varsayılan: --file-parallelism ile aynı)
--pool <pool>Tarayıcıda çalışmıyorsa havuzu belirtin (varsayılan: threads)
--poolOptions.threads.isolateİş parçacığı havuzundaki testleri yalıtın (varsayılan: true)
--poolOptions.threads.singleThreadTestleri tek bir iş parçacığı içinde çalıştırın (varsayılan: false)
--poolOptions.threads.maxThreads <workers>Testleri çalıştırmak için maksimum iş parçacığı sayısı
--poolOptions.threads.minThreads <workers>Testleri çalıştırmak için minimum iş parçacığı sayısı
--poolOptions.threads.useAtomicsİş parçacıklarını senkronize etmek için Atomics kullanın. Bu, bazı durumlarda performansı artırabilir, ancak eski Node sürümlerinde segmentasyon hatasına neden olabilir (varsayılan: false)
--poolOptions.vmThreads.isolateİş parçacığı havuzundaki testleri yalıtın (varsayılan: true)
--poolOptions.vmThreads.singleThreadTestleri tek bir iş parçacığı içinde çalıştırın (varsayılan: false)
--poolOptions.vmThreads.maxThreads <workers>Testleri çalıştırmak için maksimum iş parçacığı sayısı
--poolOptions.vmThreads.minThreads <workers>Testleri çalıştırmak için minimum iş parçacığı sayısı
--poolOptions.vmThreads.useAtomicsİş parçacıklarını senkronize etmek için Atomics kullanın. Bu, bazı durumlarda performansı artırabilir, ancak eski Node sürümlerinde bölümleme hatasına neden olabilir (varsayılan: false)
--poolOptions.vmThreads.memoryLimit <limit>VM ileti dizileri havuzu için bellek sınırı. Bellek sızıntıları görüyorsanız, bu değeri ayarlamayı deneyin.
--poolOptions.forks.isolateÇatal havuzundaki testleri yalıtın (varsayılan: true)
--poolOptions.forks.singleForkTestleri tek bir child_process içinde çalıştırın (varsayılan: false)
--poolOptions.forks.maxForks <workers>Testleri çalıştırmak için maksimum işlem sayısı
--poolOptions.forks.minForks <workers>Testleri çalıştırmak için minimum işlem sayısı
--poolOptions.vmForks.isolateÇatal havuzundaki testleri yalıtın (varsayılan: true)
--poolOptions.vmForks.singleForkTestleri tek bir child_process içinde çalıştırın (varsayılan: false)
--poolOptions.vmForks.maxForks <workers>Testleri çalıştırmak için maksimum işlem sayısı
--poolOptions.vmForks.minForks <workers>Testleri çalıştırmak için minimum işlem sayısı
--poolOptions.vmForks.memoryLimit <limit>VM çatal havuzu için bellek sınırı. Bellek sızıntıları görüyorsanız, bu değeri ayarlamayı deneyin.
--fileParallelismTüm test dosyaları paralel olarak çalıştırılmalı mı? Devre dışı bırakmak için --no-file-parallelism kullanın (varsayılan: true)
--maxWorkers <workers>Testleri çalıştırmak için maksimum çalışan sayısı
--minWorkers <workers>Testleri çalıştırmak için minimum çalışan sayısı
--environment <name>Tarayıcıda çalışmıyorsa çalıştırıcı ortamını belirtin (varsayılan: node)
--passWithNoTestsTest bulunamazsa başarılı olarak geç
--logHeapUsageNode'da çalışırken her test için yığın boyutunu göster
--allowOnlyYalnızca olarak işaretlenmiş testlere ve paketlere izin ver (varsayılan: !process.env.CI)
--dangerouslyIgnoreUnhandledErrorsOluşan işlenmemiş hataları yoksay
--shard <shards><index>/<count> biçiminde yürütülecek test paketi parçası
--changed [since]Değişen dosyalardan etkilenen testleri çalıştırın (varsayılan: false)
--sequence.shuffle.filesDosyaları rastgele bir sırada çalıştırın. Bu seçeneği etkinleştirirseniz, uzun süren testler daha erken başlamaz. (varsayılan: false)
--sequence.shuffle.testsTestleri rastgele bir sırada çalıştırın (varsayılan: false)
--sequence.concurrentTestleri paralel olarak çalıştırın (varsayılan: false)
--sequence.seed <seed>Rastgeleleştirme çekirdeğini ayarlayın. --sequence.shuffle yanlışsa bu seçeneğin hiçbir etkisi olmaz. Daha fazla bilgi için "Rastgele Çekirdek" sayfasına gidin
--sequence.hooks <order>Kancaların yürütülme sırasını değiştirir. Kabul edilen değerler: "stack", "list" ve "parallel". Daha fazla bilgi için sequence.hooks adresini ziyaret edin (varsayılan: "parallel")
--sequence.setupFiles <order>Kurulum dosyalarının yürütülme sırasını değiştirir. Kabul edilen değerler: "list" ve "parallel". "list" olarak ayarlanırsa, kurulum dosyalarını tanımlandıkları sırada çalıştırır. "parallel" olarak ayarlanırsa, kurulum dosyalarını paralel olarak çalıştırır (varsayılan: "parallel")
--inspect [[host:]port]Node.js denetleyicisini etkinleştir (varsayılan: 127.0.0.1:9229)
--inspectBrk [[host:]port]Node.js denetleyicisini etkinleştirin ve test başlamadan önce duraklatın
--testTimeout <timeout>Bir testin milisaniye cinsinden varsayılan zaman aşımı (varsayılan: 5000)
--hookTimeout <timeout>Milisaniye cinsinden varsayılan kanca zaman aşımı (varsayılan: 10000)
--bail <number>Belirtilen sayıda test başarısız olduğunda test yürütmeyi durdur (varsayılan: 0)
--retry <times>Başarısız olursa testi belirtilen sayıda yeniden dene (varsayılan: 0)
--diff <path>Fark arayüzü oluşturmak için kullanılacak bir fark yapılandırmasına giden yol
--exclude <glob>Testten hariç tutulacak ek dosya globleri
--expandSnapshotDiffAnlık görüntü başarısız olduğunda tam farkı göster
--disableConsoleInterceptKonsol günlüğünün otomatik olarak yakalanmasını devre dışı bırakın (varsayılan: false)
--typecheck.enabledTestlerle birlikte tür denetimini etkinleştirin (varsayılan: false)
--typecheck.onlyYalnızca tür denetimi testlerini çalıştırın. Bu, otomatik olarak tür denetimini etkinleştirir (varsayılan: false)
--typecheck.checker <name>Kullanılacak tür denetleyicisini belirtin. Mevcut değerler: "tcs" ve "vue-tsc" ve çalıştırılabilir bir dosyanın yolu (varsayılan: "tsc")
--typecheck.allowJsJavaScript dosyalarının tür denetiminin yapılmasına izin verin. Varsayılan olarak tsconfig.json dosyasından değeri alır
--typecheck.ignoreSourceErrorsKaynak dosyalarından gelen tür hatalarını yoksay
--typecheck.tsconfig <path>Özel bir tsconfig dosyasının yolu
--project <name>Vitest çalışma alanı özelliğini kullanıyorsanız çalıştırılacak projenin adı. Bu, birden çok proje için tekrarlanabilir: --project=1 --project=2. --project=packages* gibi joker karakterler kullanarak projeleri de filtreleyebilirsiniz
--slowTestThreshold <threshold>Bir testin yavaş kabul edilmesi için milisaniye cinsinden eşik (varsayılan: 300)
--teardownTimeout <timeout>Bir kapatma fonksiyonunun milisaniye cinsinden varsayılan zaman aşımı (varsayılan: 10000)
--maxConcurrency <number>Bir paketteki maksimum eşzamanlı test sayısı (varsayılan: 5)
--runİzleme modunu devre dışı bırak
--segfaultRetry <times>Bir bölüme hatası nedeniyle kilitlenirse, test paketini yeniden deneyin (varsayılan: true)
--no-colorKonsol çıktısından renkleri kaldırır
--clearScreenİzleme modunda testler yeniden çalıştırılırken terminal ekranını temizleyin (varsayılan: true)
--standaloneTestleri çalıştırmadan Vitest'i başlatın. Dosya filtreleri yoksayılır, testler yalnızca değişiklikte çalışır (varsayılan: false)

TIP

Vitest, CLI argümanları için hem camel case hem de kebab case'i destekler. Örneğin, --passWithNoTests ve --pass-with-no-tests her ikisi de çalışır (--no-color ve --inspect-brk istisnalardır).

Vitest ayrıca değeri belirtmenin farklı yollarını da destekler: --reporter dot ve --reporter=dot her ikisi de geçerlidir.

Seçenek bir değer dizisini destekliyorsa, seçeneği birden çok kez geçirmeniz gerekir:

vitest --reporter=dot --reporter=default

Boole seçenekleri no- önekiyle olumsuzlanabilir. Değeri false olarak belirtmek de işe yarar:

vitest --no-api
vitest --api=false

changed ​

  • Tür: boolean | string

  • Varsayılan: false

    Yalnızca değişen dosyalar için testleri çalıştırır. Değer sağlanmazsa, commit edilmemiş değişikliklere (staged ve unstaged dahil) karşı testler çalıştırılır.

    Son commit'te yapılan değişikliklere karşı testleri çalıştırmak için --changed HEAD~1 kullanabilirsiniz. Ayrıca commit hash'ini (örneğin, --changed 09a9920) veya branch adını (örneğin, --changed origin/develop) da geçirebilirsiniz.

    Kod kapsamı ile birlikte kullanıldığında, rapor yalnızca değişikliklerle ilgili dosyaları içerecektir.

    forceRerunTriggers yapılandırma seçeneğiyle eşleştirilirse, forceRerunTriggers listesinde listelenen dosyalardan en az biri değişirse, tüm test paketi çalıştırılır. Varsayılan olarak, Vitest yapılandırma dosyasında ve package.json dosyasında yapılan değişiklikler her zaman tüm paketi yeniden çalıştırır.

shard ​

  • Tür: string

  • Varsayılan: devre dışı

    <index>/<count> biçiminde, yürütülecek test paketinin parçasını belirtir. Burada:

    • count pozitif bir tamsayıdır, bölünmüş parça sayısını temsil eder.
    • index pozitif bir tamsayıdır, bölünmüş parçanın indeksini temsil eder.

    Bu komut, tüm testleri count adet eşit parçaya böler ve yalnızca index numaralı parçadaki testleri çalıştırır. Örneğin, test paketinizi üç eşit parçaya bölmek için şunu kullanın:

    sh
    vitest run --shard=1/3
    vitest run --shard=2/3
    vitest run --shard=3/3

WARNING

Bu seçenek, --watch etkin durumdayken kullanılamaz (geliştirme ortamında varsayılan olarak etkindir).

Pager
Önceki sayfaÇalışma Alanı
Sonraki sayfaTest Filtreleme

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

Copyright (c) 2024 Mithril Contributors

https://v1.vitest.dev/guide/cli

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

Copyright (c) 2024 Mithril Contributors