Angular

การทำ Unit Testing ใน Angular

Jasmine, Karma, TestBed, การทดสอบ component, การทดสอบ service, mocking, spies, การทดสอบแบบ async, fixture

22 คำถามสัมภาษณ์·
Mid-Level
1

บทบาทหลักของ 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.inject() เป็นเมธอดที่แนะนำสำหรับการรับ instance ของ service จาก injector ของ testing module เมธอดนี้แทนที่ syntax เก่า TestBed.get() (deprecated) และให้ TypeScript typing ที่ดีกว่า โดยเข้าถึง service ที่จัดเตรียมในการตั้งค่า TestBed ผ่าน configureTestingModule

3

เมธอด TestBed.createComponent() คืนค่าอะไร?

คำตอบ

createComponent() คืนค่า ComponentFixture ซึ่งเป็น wrapper รอบ component ที่ให้การเข้าถึง instance ของ component (componentInstance), DOM element (nativeElement), DebugElement และเมธอดทดสอบเช่น detectChanges() ComponentFixture เป็นออบเจกต์หลักสำหรับการทดสอบ component ของ Angular

4

บทบาทของ fixture.detectChanges() ในการทดสอบ component คืออะไร?

5

จะสร้าง Jasmine spy เพื่อ mock เมธอดของ service ได้อย่างไร?

+19 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ Angular อื่นๆ

พื้นฐาน TypeScript

Junior
25 คำถาม

TypeScript ขั้นสูง

Junior
20 คำถาม

พื้นฐาน Angular

Junior
20 คำถาม

คอมโพเนนต์และวงจรชีวิต

Junior
20 คำถาม

Services & Dependency Injection

Junior
20 คำถาม

การจัดระเบียบโมดูล Angular

Mid-Level
22 คำถาม

Angular CLI

Junior
18 คำถาม

Directives และ Pipes

Mid-Level
22 คำถาม

Routing และการนำทาง

Mid-Level
24 คำถาม

Reactive Forms

Mid-Level
26 คำถาม

Template-driven Forms

Mid-Level
16 คำถาม

พื้นฐาน RxJS

Mid-Level
22 คำถาม

Operator ของ RxJS

Mid-Level
24 คำถาม

HttpClient และการเรียก API

Mid-Level
22 คำถาม

การจัดการ state พื้นฐาน

Mid-Level
20 คำถาม

Change Detection

Mid-Level
20 คำถาม

Angular Signals

Mid-Level
20 คำถาม

Standalone Components

Mid-Level
18 คำถาม

การทดสอบ End-to-End

Mid-Level
18 คำถาม

Build และการเพิ่มประสิทธิภาพ

Mid-Level
20 คำถาม

พื้นฐาน NgRx

Senior
24 คำถาม

NgRx ขั้นสูง

Senior
24 คำถาม

สถาปัตยกรรม Angular

Senior
22 คำถาม

การปรับแต่งประสิทธิภาพ

Senior
22 คำถาม

ความปลอดภัยและแนวทางปฏิบัติที่ดี

Senior
20 คำถาม

รูปแบบ RxJS ขั้นสูง

Senior
22 คำถาม

Angular Universal และ SSR

Senior
20 คำถาม

Angular Micro-frontends

Senior
20 คำถาม

เชี่ยวชาญ Angular สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี