# Unit Testing trong Angular (Angular) > Jasmine, Karma, TestBed, kiểm thử component, kiểm thử service, mocking, spies, kiểm thử bất đồng bộ, fixture - 22 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van.md) ## 1. Vai trò chính của TestBed trong unit testing Angular là gì? **Câu trả lời** TestBed là tiện ích chính để cấu hình và tạo module testing Angular. Nó cho phép cấu hình providers, imports, declarations và khởi tạo các component trong môi trường test độc lập. TestBed tạo ra một bối cảnh test mô phỏng cách hoạt động của Angular NgModule, cho phép dependency injection và biên dịch component. ## 2. Phương thức TestBed nào nên được sử dụng để lấy instance của service? **Câu trả lời** TestBed.inject() là phương thức được khuyến nghị để lấy instance của service từ injector của module testing. Phương thức này thay thế cú pháp TestBed.get() cũ (đã deprecated) và cung cấp typing TypeScript tốt hơn. Nó truy cập các service được cung cấp trong cấu hình TestBed thông qua configureTestingModule. ## 3. Phương thức TestBed.createComponent() trả về gì? **Câu trả lời** createComponent() trả về một ComponentFixture, một wrapper bao quanh component cung cấp quyền truy cập đến instance của component (componentInstance), phần tử DOM của nó (nativeElement), DebugElement, và các phương thức test như detectChanges(). ComponentFixture là đối tượng trung tâm để test một component Angular. ## Còn 19 câu hỏi nữa - Vai trò của fixture.detectChanges() trong một bài test component là gì? - Làm thế nào để tạo một Jasmine spy để mock một phương thức của service? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Angular khác - [Kiến thức cơ bản TypeScript](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/typescript-basics.md): 25 câu hỏi, Junior - [TypeScript Nâng cao](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/typescript-advanced.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-fundamentals.md): 20 câu hỏi, Junior - [Components và vòng đời](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/components-lifecycle.md): 20 câu hỏi, Junior - [Services & Dependency Injection](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/services-dependency-injection.md): 20 câu hỏi, Junior - [Tổ chức Module Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/modules-organization.md): 22 câu hỏi, Mid-Level - [Angular CLI](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-cli.md): 18 câu hỏi, Junior - [Directives và Pipes](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/directives-pipes.md): 22 câu hỏi, Mid-Level - [Routing và Điều hướng](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/routing-navigation.md): 24 câu hỏi, Mid-Level - [Reactive Forms](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/forms-reactive.md): 26 câu hỏi, Mid-Level - [Template-driven Forms](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/forms-template-driven.md): 16 câu hỏi, Mid-Level - [Kiến Thức Cơ Bản RxJS](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/rxjs-fundamentals.md): 22 câu hỏi, Mid-Level - [Operator RxJS](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/rxjs-operators.md): 24 câu hỏi, Mid-Level - [HttpClient và lệnh gọi API](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/http-client.md): 22 câu hỏi, Mid-Level - [Quản lý state cơ bản](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/state-management-basics.md): 20 câu hỏi, Mid-Level - [Change Detection](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/change-detection.md): 20 câu hỏi, Mid-Level - [Angular Signals](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-signals.md): 20 câu hỏi, Mid-Level - [Standalone Components](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/standalone-components.md): 18 câu hỏi, Mid-Level - [Kiểm thử End-to-End](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/testing-e2e.md): 18 câu hỏi, Mid-Level - [Build và tối ưu hóa](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/build-optimization.md): 20 câu hỏi, Mid-Level - [Nền tảng NgRx](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/ngrx-fundamentals.md): 24 câu hỏi, Senior - [NgRx nâng cao](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/ngrx-advanced.md): 24 câu hỏi, Senior - [Kiến trúc Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-architecture.md): 22 câu hỏi, Senior - [Tối ưu hiệu năng](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Bảo mật và thực tiễn tốt nhất](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/security-best-practices.md): 20 câu hỏi, Senior - [Các mẫu RxJS nâng cao](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/advanced-rxjs-patterns.md): 22 câu hỏi, Senior - [Angular Universal và SSR](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/angular-universal-ssr.md): 20 câu hỏi, Senior - [Micro-frontend Angular](https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/micro-frontends-angular.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/angular/cau-hoi-phong-van/testing-unit