תצורה - איך לנפות באגים בבדיקת יחידה של TypeScript Vitest מרחוק עם nvim-dap?

מבחן היחידה שלי ב-TypeScript של Vite מוגש על ידי שרת מרוחק בדומיין remoteserver באמצעות הפקודה הבאה: node --inspect-brk=0.0.0.0 ./node_modules/vitest/vitest.mjs run --threads false src/backend/api.spec.ts

כאשר אני מחבר את nvim-dap עם הקונפיגורציה למטה, זה נכשל עם ההודעה הזו:

נקודת עצירה התעלמה מכיוון שהקוד שנוצר לא נמצא (בעיה במפת המקור?).

ההגדרה שלי ל-nvim-dap:

dap.adapters = { node

קרא עוד →

typescript - מדוע דוח הכיסוי של Vitest מדווח על קובץ שפשוט מייצא אנום?

אנו פועלים לפי מדיניות כיסוי סניפים של 100%. אנו לא עוקבים אחרי פונקציות או שורות. אנו רואים בכך את האיזון הטוב ביותר בין כיסוי קוד לפרודוקטיביות. כרגע יש לנו בעיה שבה vitest מדווח על הקובץ הבא כבעל שני סניפים:

export enum URL { preSignedUploadUrl = '/case-document/up

קרא עוד →

TypeScript - השבתת זמן ההמתנה של Vitest בעת דיבוג ב-VSCode

כאשר אני עובד על מבחן, אני עשוי להריץ אותו ולתת לו לרוץ שוב 100 פעמים תוך כדי מעבר שלב-שלב במצב ניפוי שגיאות, לבצע ריפקטורינג ולבדוק מחדש דברים מסוימים, אבל תקופת הזמן המוגדרת כברירת מחדל של vitest היא רק 5 שניות, וההרחבה של vitest לא כוללת אפשרות (לשיטתי) שמאפשרת להגדיר את הערך test-timeout/testTimeout של vitest – או להתעלם ממנו כאשר VSCODE_INSPECTOR_OPTIONS מוגדר במשתני הסביבה.

הדרכים המועדפות עלי לנפות שגיאות במבחן הן ללחוץ עליו עם הכפתור הימני של העכבר,

קרא עוד →

typescript - Vue: לא ניתן למצוא את המודול ~~~ או את ההצהרות הסוגיות המתאימות שלו. במודול בדיקות Vitest

אני משתמש ב-vite וב-vitest.

vite.config.ts

export default defineConfig({ plugins: [vue(), VueDevTools()], resolve: { alias: [ { find: '@', replacement: fileURLToPath(new URL('./src', import.meta.url)), }, { find: '@mocks', replacement: fileURLToPath(new URL('./mock', import.meta.url)), }, ], }, });

vitest.config.ts

קרא עוד →

reactjs - שימוש ב-Storybook ו-Vitest, חיקוי מודול גורם לחריגה

יש לי התקנת Storybook שמשתמשת ב-vitest, ואני רוצה לדמות מודול בסיפור בעזרת vitest, אז אני מוסיף את הדברים הבאים לראש קובץ הסיפורים שלי:

// my-nice-function.stories.tsx import { vi } from "vitest"; vi.mock("../some-module", () => ({ someFunction: vi.fn(), })); // the actual stories below here...

אבל כשאני מריץ את הסיפור הזה, מופיעה השגיאה הבאה:

לא ניתן לקרוא מאפיינים של לא מוגדר (קריאה ל-'customEqualityTesters')

קרא עוד →

reactjs - שגיאת Vitest require ESM. איך אני מתגבר על זה

אני מריץ React+Vite. ואני מנסה להגדיר מקרים של בדיקות יחידה לרכיבים, אבל כשאני מנסה להריץ את זה, אני מקבל את השגיאה הבאה

שגיאה: require() של מודול ES ...\index.js מ- ...\node_modules@nivo\core\dist\nivo-core.cjs.js אינו נתמך. במקום זאת, שנה את ה-require של index.js ב- ... ל-import() דינמי הזמין בכל מודולי CommonJS.

קרא עוד →

TypeScript - שימוש בהזרקת תלות עם Vue/Vitest

  1. ההגדרות שלי
  • יישום Vue 3
  • חנויות פיניה
  • בקובץ main.ts שלי: app.use(myPlugin)
  • בקובץ MyPlugin.ts : אני יוצר ומספק במצב מותנה מאגר נתונים (MyRepo) ליישום על בסיס תנאי סביבה מסוימים. מאגר זה יכול או לתקשר עם API או לספק נתוני

    קרא עוד →

reactjs - בדיקת React לא עובדת באמצעות Vite + Vitest

אני מקבל את השגיאה הבאה בעת הרצת npm test (שקוראת ל-vitest):

נכשל src/Applications/components/ApplicationsTable/ApplicationsTable.test.tsx [ src/Applications/components/ApplicationsTable/ApplicationsTable.test.tsx ] שגיאה: ייבוא ספרייה '{internalNpmPackage}/build/components' אינו נתמך בעת

קרא עוד →

reactjs - אזהרת Vitest: מנהל הבדיקות הנוכחי אינו תומך ב-hooks של afterEach/teardown

בעיה: אני עובד על פרויקט React באמצעות Vite ו-TypeScript, ונתקלתי בכמה אזהרות בעת הרצת בדיקות עם Vitest ו-RTL (React Testing Library). למרות שהבדיקות רצות כשורה, בעבר נתקלתי בבעיות כאשר לא השתמשתי ב-cleanup() ששברו חלק

קרא עוד →

typescript - Vitest מצפה להרחבה

אני מנסה ליצור expect.extend ב-Vitest, ניסיתי לעקוב אחרי התיעוד

יצרתי קובץ vitest.d.ts שבו אני מכריז על זה:

interface CustomMatchers<R = unknown> { toPassGuard(guardFunc: (record: unknown) => boolean): boolean; toPassGuardArray<T = unknown>(guardFunc: (record: T) => boolean): boolean; } declare module 'vitest' { interface Ass

קרא עוד →