ค้นหาเว็บไซต์

การกำหนดค่า - วิธีดีบักยูนิตเทสต์ 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

อ่านต่อไป →

typescript - ทำไมรายงานการครอบคลุมของ Vitest ถึงรายงานไฟล์ที่แค่ส่งออก enum?

เราดำเนินการตามนโยบายความครอบคลุมสาขา 100% เราไม่ติดตามฟังก์ชันหรือตัวบรรทัด เราพบว่านี่เป็นสมดุลที่ดีที่สุดระหว่างความครอบคลุมของโค้ดและผลผลิต ปัจจุบันเรามีปัญหาที่ vitest รายงานว่าไฟล์ต่อไปนี้มีสองสาขา:

export enum URL { preSignedUploadUrl = '/case-document/upload/a

อ่านต่อไป →

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...

แต่เมื่อฉันรันเรื่องราวนี้ ข้อผิดพลาดต่อไปนี้จะเกิดขึ้น:

ไม่สามารถอ่านคุณสมบัติของ undefined (กำลังอ่าน 'custo

อ่านต่อไป →

reactjs - Vitest ต้องการ ESM เกิดข้อผิดพลาด ฉันจะผ่านส่วนนี้ได้อย่างไร

ฉันกำลังใช้งาน React+Vite และกำลังพยายามตั้งค่ากรณีทดสอบหน่วยสำหรับคอมโพเนนต์ แต่เมื่อฉันพยายามรัน ฉันได้รับข้อผิดพลาดดังต่อไปนี้

ข้อผิดพลาด: require() ของโมดูล ES ...\index.js จาก ...\node_modules@nivo\core\dist\nivo-core.cjs.js ไม่รองรับ แทนที่จะเปลี่ยน require ของ index.js ใน ... เป็นการ import() แบบไดนามิกซึ่งมีให้ใช้งานในโมดูล CommonJS ทั้งหมด

อ่านต่อไป →

TypeScript - ใช้ Dependency Injection กับ Vue/Vitest

  1. การตั้งค่าของฉัน
  • แอปพลิเคชัน Vue 3
  • คลังข้อมูล Pinia
  • ใน main.ts ของฉัน: app.use(myPlugin)
  • ใน MyPlugin.ts : ฉันสร้างและจัดเตรียมรีโพซิทอรี (MyRepo) ให้กับแอปพลิเคชันแบบมีเงื่อนไขตามสภาพแวดล้อมบางอย่าง รีโพซิทอรีนี้สามารถ

    อ่านต่อไป →

reactjs - การทดสอบ React ไม่ทำงานโดยใช้ Vite + Vitest

ฉันได้รับข้อผิดพลาดดังต่อไปนี้เมื่อรัน npm test (ซึ่งเรียก vitest):

ล้มเหลว src/Applications/components/ApplicationsTable/ApplicationsTable.test.tsx [ src/Applications/components/ApplicationsTable/ApplicationsTable.test.tsx ] ข้อผิดพลาด: การนำเข้าไดเรกทอรี '{internalNpmPackage}/build/com

อ่านต่อไป →

reactjs - Vitest คำเตือน: ตัวทดสอบปัจจุบันไม่รองรับ afterEach/teardown hooks

ปัญหา: ฉันกำลังทำงานในโปรเจค 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

อ่านต่อไป →