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,
vite
paketini 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-v8
veya@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.