การทำ Unit Testing ใน Angular
Jasmine, Karma, TestBed, การทดสอบ component, การทดสอบ service, mocking, spies, การทดสอบแบบ async, fixture
1บทบาทหลักของ TestBed ในการทำ unit testing ของ Angular คืออะไร?
บทบาทหลักของ TestBed ในการทำ unit testing ของ Angular คืออะไร?
คำตอบ
TestBed เป็น utility หลักสำหรับการตั้งค่าและสร้าง testing module ของ Angular ช่วยให้สามารถตั้งค่า providers, imports, declarations และสร้าง instance ของ component ในสภาพแวดล้อมการทดสอบที่แยกออกมา TestBed สร้างบริบทการทดสอบที่จำลองการทำงานของ Angular NgModule ทำให้สามารถใช้ dependency injection และคอมไพล์ component ได้
2ควรใช้เมธอด TestBed ใดเพื่อรับ instance ของ service?
ควรใช้เมธอด TestBed ใดเพื่อรับ instance ของ service?
คำตอบ
TestBed.inject() เป็นเมธอดที่แนะนำสำหรับการรับ instance ของ service จาก injector ของ testing module เมธอดนี้แทนที่ syntax เก่า TestBed.get() (deprecated) และให้ TypeScript typing ที่ดีกว่า โดยเข้าถึง service ที่จัดเตรียมในการตั้งค่า TestBed ผ่าน configureTestingModule
3เมธอด TestBed.createComponent() คืนค่าอะไร?
เมธอด TestBed.createComponent() คืนค่าอะไร?
คำตอบ
createComponent() คืนค่า ComponentFixture ซึ่งเป็น wrapper รอบ component ที่ให้การเข้าถึง instance ของ component (componentInstance), DOM element (nativeElement), DebugElement และเมธอดทดสอบเช่น detectChanges() ComponentFixture เป็นออบเจกต์หลักสำหรับการทดสอบ component ของ Angular
บทบาทของ fixture.detectChanges() ในการทดสอบ component คืออะไร?
จะสร้าง Jasmine spy เพื่อ mock เมธอดของ service ได้อย่างไร?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Angular อื่นๆ
พื้นฐาน TypeScript
TypeScript ขั้นสูง
พื้นฐาน Angular
คอมโพเนนต์และวงจรชีวิต
Services & Dependency Injection
การจัดระเบียบโมดูล Angular
Angular CLI
Directives และ Pipes
Routing และการนำทาง
Reactive Forms
Template-driven Forms
พื้นฐาน RxJS
Operator ของ RxJS
HttpClient และการเรียก API
การจัดการ state พื้นฐาน
Change Detection
Angular Signals
Standalone Components
การทดสอบ End-to-End
Build และการเพิ่มประสิทธิภาพ
พื้นฐาน NgRx
NgRx ขั้นสูง
สถาปัตยกรรม Angular
การปรับแต่งประสิทธิภาพ
ความปลอดภัยและแนวทางปฏิบัติที่ดี
รูปแบบ RxJS ขั้นสูง
Angular Universal และ SSR
Angular Micro-frontends
เชี่ยวชาญ Angular สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี