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.singleFork
Vitest 1.1 veya daha üstünü kullanıyorsanız, --no-file-parallelism
bayrağını da sağlayabilirsiniz:
# Havuz bilinmiyorsa
vitest --inspect-brk --no-file-parallelism
Vitest 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.