node.js - NestJs - چگونه تستهای jest را با استفاده از typescript دیباگ کنیم


من در حال تلاش برای دیباگ کردن تستهای Jest خود با استفاده از Typescript و فریمورک NestJS هستم. من بسیاری از دستورات را امتحان کردهام اما هیچکدام به نظر نمیرسد کار کنند. همچنین این اسکریپت ارائهشده توسط NestJs Typescript Starter را امتحان کردهام، اما آن هم کار نمیکند.

دستور این است:

"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand"

هر بار که این دستور را اجرا میکنم، هیچ اتفاقی نمیافتد، فقط این پیام در کنسول ظاهر میشود:

تمام آزمایشهای من بدون حالت اشکالزدایی بهخوبی کار میکنند.

من چند پست وبلاگ/آموزش پیدا کردهام که توضیح میدهند چگونه میتوانیم تستهای jest را با استفاده از typescript و ts-jest دیباگ کنیم، اما هیچکدام برای من کار نکردند :(

سؤالهای من اینها هستند:

  • آیا نیاز دارم تنظیمات اضافی در launch.json در vscode انجام دهم؟
  • چرا وقتی فرمان test:debug را اجرا میکنم هیچ اتفاقی نمیافتد؟ (بعد از Debugger listening on ws://127.0.0.1:9229/5f1fa5dd-6450-488b-8e4d-cc9ff3003804 هیچ اتفاقی نمیافتد. برای کمک، مراجعه کنید به: https://nodejs.org/en/docs/inspector

پاسخ شماره ۱

شما باید auto attach را در Vscode خود فعال کنید و سپس اسکریپت خود را اجرا کنید. میتوانید آن را با اجرای فرمان Debug: Toggle Auto Attach از Command Palette فعال کنید.

پاسخ شماره ۲

راههای زیادی برای اشکالزدایی تستهای Jest وجود دارد، فایل launch.json در vscode یکی از آنها است، همچنین میتوانید با ابزار بازرسی Google Chrome (chrome://inspect) کار کنید؛ در لحظهای که وبسوکت را اجرا میکنید، در فهرست دستگاهها ظاهر میشود و سپس میتوانید پوشه خود را در ابزار بازرسی Chrome اضافه کنید. در اینجا مستندات رسمی Jest را دارید