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:
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.
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.
// .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, --update | Anlı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 |
--ui | Kullanıcı Arayüzünü etkinleştir |
--open | Kullanı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.strictPort | Bağ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 |
--silent | Testlerden gelen konsol çıktısını sessize al |
--hideSkippedTests | Atlanan 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.all | Test 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.enabled | Kapsam 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.clean | Testleri ç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.reportOnFailure | Testler başarısız olsa bile kapsam raporu oluşturun (varsayılan: false ) |
--coverage.allowExternal | Proje 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.100 | Tüm kapsam eşiklerini %100'e ayarlamak için kısayol (varsayılan: false ) |
--coverage.thresholds.perFile | Eş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.autoUpdate | Geç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 |
--isolate | Her 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 ) |
--globals | API'leri global olarak ekle |
--dom | happy-dom ile tarayıcı API'sini taklit et |
--browser.enabled | Testleri 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.headless | Tarayı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.strictPort | Bağ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.slowHijackESM | Vitest'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.isolate | Her 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.fileParallelism | Tü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.singleThread | Testleri 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.singleThread | Testleri 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.singleFork | Testleri 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.singleFork | Testleri 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. |
--fileParallelism | Tü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 ) |
--passWithNoTests | Test bulunamazsa başarılı olarak geç |
--logHeapUsage | Node'da çalışırken her test için yığın boyutunu göster |
--allowOnly | Yalnızca olarak işaretlenmiş testlere ve paketlere izin ver (varsayılan: !process.env.CI ) |
--dangerouslyIgnoreUnhandledErrors | Oluş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.files | Dosyaları 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.tests | Testleri rastgele bir sırada çalıştırın (varsayılan: false ) |
--sequence.concurrent | Testleri 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 |
--expandSnapshotDiff | Anlık görüntü başarısız olduğunda tam farkı göster |
--disableConsoleIntercept | Konsol günlüğünün otomatik olarak yakalanmasını devre dışı bırakın (varsayılan: false ) |
--typecheck.enabled | Testlerle birlikte tür denetimini etkinleştirin (varsayılan: false ) |
--typecheck.only | Yalnı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.allowJs | JavaScript dosyalarının tür denetiminin yapılmasına izin verin. Varsayılan olarak tsconfig.json dosyasından değeri alır |
--typecheck.ignoreSourceErrors | Kaynak 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-color | Konsol çıktısından renkleri kaldırır |
--clearScreen | İzleme modunda testler yeniden çalıştırılırken terminal ekranını temizleyin (varsayılan: true ) |
--standalone | Testleri ç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 vepackage.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ızcaindex
numaralı parçadaki testleri çalıştırır. Örneğin, test paketinizi üç eşit parçaya bölmek için şunu kullanın:shvitest 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).