Node API
WARNING
Vitest, deneysel bir Node API'si sunar. Kırıcı değişiklikler semantik versiyonlamayı (semver) takip etmeyebilir, bu nedenle kullanırken lütfen Vitest sürümünü sabitleyin.
startVitest
Node API'sini kullanarak Vitest testlerinizi çalıştırabilirsiniz:
import { startVitest } from 'vitest/node';
const vitest = await startVitest('test');
await vitest?.close();startVitest fonksiyonu, testler başlatılabiliyorsa bir Vitest örneği döndürür. Aksi takdirde (örneğin):
- Vitest,
vitepaketini bulamazsa (genellikle Vitest ile birlikte yüklenir) - Eğer kapsam (coverage) etkinleştirilmişse ve çalıştırma modu "test" ise, ancak kapsam paketi yüklenmemişse (
@vitest/coverage-v8veya@vitest/coverage-istanbul) - Eğer ortam paketi yüklenmemişse (
jsdom/happy-dom/@edge-runtime/vm)
undefined döndürülür veya çalıştırma sırasında testler başarısız olursa, Vitest process.exitCode değerini 1 olarak ayarlar.
İzleme modu (watch mode) etkin değilse, Vitest close metodunu çağırır.
İzleme modu etkinse ve terminal TTY'yi destekliyorsa, Vitest konsol kısayollarını etkinleştirir.
İkinci bir argüman olarak bir filtre listesi geçirebilirsiniz. Vitest, dosya yolunda bu dizelerden en az birini içeren testleri çalıştırır.
Ek olarak, üçüncü argümanı kullanarak CLI argümanlarını geçirebilirsiniz; bu, test yapılandırma seçeneklerini geçersiz kılar.
Alternatif olarak, dördüncü argüman olarak tam bir Vite yapılandırması geçirebilirsiniz; bu, kullanıcı tanımlı diğer seçenekleri önceliklendirir.
createVitest
createVitest fonksiyonunu kullanarak kendi Vitest örneğinizi oluşturabilirsiniz. startVitest ile aynı Vitest örneğini döndürür, ancak testleri başlatmaz ve gerekli paketlerin yüklenip yüklenmediğini doğrulamaz.
import { createVitest } from 'vitest/node';
const vitest = await createVitest('test', {
watch: false,
});parseCLI
CLI argümanlarını ayrıştırmak için bu yöntemi kullanabilirsiniz. Tek bir boşlukla ayrılmış argümanların bulunduğu bir dize veya Vitest CLI'ın kullandığı biçimde CLI argümanlarının bir dize dizisini kabul eder. Daha sonra createVitest veya startVitest yöntemlerine aktarabileceğiniz bir filtre ve options döndürür.
import { parseCLI } from 'vitest/node';
parseCLI('vitest ./files.ts --coverage --browser=chrome');Vitest
Vitest örneği, mevcut test modunu gerektirir. Bunlar şunlar olabilir:
- Çalışma zamanı testleri çalıştırılırken
test - Performans testleri (benchmark) çalıştırılırken
benchmark
mode
test
Test modu yalnızca test veya it bloklarındaki fonksiyonları çalıştırır ve bench ile karşılaşıldığında bir hata fırlatır. Bu mod, test dosyalarını bulmak için yapılandırmadaki include ve exclude seçeneklerini kullanır.
benchmark
Performans testi modu bench fonksiyonlarını çağırır ve test veya it ile karşılaştığında bir hata fırlatır. Bu mod, performans testi dosyalarını bulmak için yapılandırmadaki benchmark.include ve benchmark.exclude seçeneklerini kullanır.
start
start metodu ile testleri veya performans testlerini çalıştırmaya başlayabilirsiniz. Test dosyalarını filtrelemek için dize dizileri kullanabilirsiniz.