Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

การทดสอบ

  • ชุดเครื่องมือทดสอบครบถ้วน(สวีท,ไลฟ์,Docker): Testing

  • pnpm test:force: ฆ่าโปรเซสGatewayที่ค้างอยู่ซึ่งครอบครองพอร์ตควบคุมเริ่มต้น จากนั้นรันชุดทดสอบ Vitest ทั้งหมดด้วยพอร์ตGatewayที่แยกออกมา เพื่อให้การทดสอบเซิร์ฟเวอร์ไม่ชนกับอินสแตนซ์ที่กำลังรันอยู่ ใช้กรณีที่การรันGatewayก่อนหน้าทิ้งพอร์ต18789ไว้ 20. ใช้สิ่งนี้เมื่อการรัน gateway ก่อนหน้าทำให้พอร์ต 18789 ถูกใช้งานอยู่

    1. pnpm test:coverage: รัน Vitest พร้อมการครอบคลุมด้วย V8 22. เกณฑ์ส่วนกลางคือ 70% สำหรับ lines/branches/functions/statements pnpm test:coverage: รัน Vitest พร้อมความครอบคลุม V8 เกณฑ์รวมคือ70%สำหรับบรรทัด/แขนง/ฟังก์ชัน/สเตตเมนต์ การคำนวณความครอบคลุมจะยกเว้นจุดเริ่มต้นที่เน้นอินทิเกรชันหนัก(การเชื่อมสายCLI,บริดจ์gateway/telegram,เซิร์ฟเวอร์สแตติกเว็บแชต)เพื่อโฟกัสที่ลอจิกที่ทดสอบด้วยยูนิตได้
  • pnpm test:e2e: รันการทดสอบสโมคแบบเอนด์ทูเอนด์ของGateway(การจับคู่WS/HTTP/โหนดหลายอินสแตนซ์)

    1. pnpm test:live: รันการทดสอบผู้ให้บริการแบบ live (minimax/zai) pnpm test:live: รันการทดสอบไลฟ์ของผู้ให้บริการ(minimax/zai)ต้องใช้คีย์APIและLIVE=1(หรือ*_LIVE_TEST=1เฉพาะผู้ให้บริการ)เพื่อยกเลิกการข้าม

การทดสอบความหน่วงของโมเดล(local keys)

สคริปต์: scripts/bench-model.ts

การใช้งาน:

  • source ~/.profile && pnpm tsx scripts/bench-model.ts --runs 10
  • ตัวแปรสภาพแวดล้อม(ไม่บังคับ): MINIMAX_API_KEY, MINIMAX_BASE_URL, MINIMAX_MODEL, ANTHROPIC_API_KEY
  • พรอมป์ต์เริ่มต้น: “ตอบด้วยคำเดียว: ok ห้ามมีเครื่องหมายวรรคตอนหรือข้อความเพิ่มเติม” 24. ไม่มีเครื่องหมายวรรคตอนหรือข้อความเพิ่มเติม”

การรันล่าสุด(2025-12-31,20ครั้ง):

  • minimax ค่ามัธยฐาน1279ms(ต่ำสุด1114,สูงสุด2431)
  • opus ค่ามัธยฐาน2454ms(ต่ำสุด1224,สูงสุด3170)

Onboarding E2E(Docker)

Dockerเป็นตัวเลือก ไม่จำเป็นหากไม่ทดสอบสโมคการเริ่มต้นแบบคอนเทนเนอร์

โฟลว์เริ่มต้นแบบcold-startเต็มรูปแบบในคอนเทนเนอร์Linuxที่สะอาด:

scripts/e2e/onboard-docker.sh

สคริปต์นี้จะขับวิซาร์ดแบบโต้ตอบผ่านpseudo-tty ตรวจสอบไฟล์คอนฟิก/เวิร์กสเปซ/เซสชัน จากนั้นเริ่มGatewayและรันopenclaw health.

QR import smoke(Docker)

ตรวจสอบว่าqrcode-terminalโหลดได้ภายใต้Node22+ในDocker:

pnpm test:docker:qr