Hata Ayıklama
TIP
Testlerde hata ayıklarken, kesme noktalarında durduğunuzda testlerin zaman aşımına uğramasını önlemek için --test-timeout CLI argümanını kullanmayı düşünebilirsiniz.
VSCode
VSCode'da testlerde hata ayıklamanın hızlı bir yolu JavaScript Debug Terminal'i kullanmaktır. Yeni bir JavaScript Debug Terminal açın ve npm run test veya doğrudan vitest komutunu çalıştırın. Bu yöntem, Node üzerinde çalışan herhangi bir kodla uyumludur, bu nedenle çoğu JS test çerçevesiyle çalışacaktır.

VSCode'da belirli bir test dosyasında hata ayıklamak için özel bir başlatma yapılandırması ekleyebilirsiniz:
{
// Daha fazla bilgi için: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug Current Test File",
"autoAttachChildProcesses": true,
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
"args": ["run", "${relativeFile}"],
"smartStep": true,
"console": "integratedTerminal"
}
]
}Ardından, hata ayıklama sekmesinde 'Debug Current Test File' seçeneğinin seçili olduğundan emin olun. Hata ayıklamak istediğiniz test dosyasını açın ve F5 tuşuna basarak hata ayıklamayı başlatın.
IntelliJ IDEA
Bir 'Node.js' çalıştırma yapılandırması oluşturun. Hata ayıklama modunda tüm testleri çalıştırmak için aşağıdaki ayarları kullanın:
| Ayar | Değer |
|---|---|
| Çalışma dizini | /proje-kökünüzün/yolu |
| JavaScript dosyası | ./node_modules/vitest/vitest.mjs |
| Uygulama parametreleri | run --pool forks |
Ardından bu yapılandırmayı hata ayıklama modunda çalıştırın. IDE, düzenleyicide ayarlanan JS/TS kesme noktalarında duracaktır.
Node Inspector (Örneğin Chrome Developer Tools)
Vitest, IDE olmadan da testlerde hata ayıklamayı destekler. Ancak bu, testlerin paralel olarak çalıştırılmamasını gerektirir. Vitest'i başlatmak için aşağıdaki komutlardan birini kullanın:
# Tek bir worker'da çalıştırmak için
vitest --inspect-brk --pool threads --poolOptions.threads.singleThread
# Tek bir alt işlemde çalıştırmak için
vitest --inspect-brk --pool forks --poolOptions.forks.singleForkVitest 1.1 veya daha üstünü kullanıyorsanız, --no-file-parallelism bayrağını da sağlayabilirsiniz:
# Havuz bilinmiyorsa
vitest --inspect-brk --no-file-parallelismVitest başlatıldıktan sonra yürütmeyi durduracak ve Node.js denetleyicisine bağlanabilen geliştirici araçlarını açmanızı bekleyecektir. Tarayıcıda chrome://inspect adresini açarak bunun için Chrome DevTools'u kullanabilirsiniz.
İzleme modunda, --poolOptions.threads.isolate false seçeneklerini kullanarak test yeniden çalıştırmaları sırasında hata ayıklayıcıyı açık tutabilirsiniz.