Retour au cours

Fondamentaux du Testing : Configuration et TestBed

Le Développeur Angular Complet : de Zéro à Héros

73. Fondamentaux du Testing : Configuration et TestBed

Les tests sont vitaux pour garantir la qualité et la maintenabilité de l'application. Angular utilise Jasmine (framework de test) et Karma (lanceur de tests).

Types de tests

  1. Tests unitaires : Se concentrent sur des unités de code isolées (composants, services, pipes).
  2. Tests d'intégration : Vérifient l'interaction entre les unités (ex : un composant utilisant un service).
  3. Tests End-to-End (E2E) : Simulent le parcours réel d'un utilisateur dans un navigateur.

L'Angular TestBed

TestBed est l'utilitaire le plus important pour tester les composants et services Angular. Il crée un environnement de module de test reflétant un NgModule.

typescript import { TestBed } from '@angular/core/testing'; import { ComponentFixture } from '@angular/core/testing'; import { AppComponent } from './app.component';

describe('AppComponent', () => {

let fixture: ComponentFixture; // Représente l'hôte du composant let component: AppComponent; // L'instance de la classe du composant

beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [AppComponent], providers: [], imports: [] }).compileComponents();

fixture = TestBed.createComponent(AppComponent);
component = fixture.componentInstance;

});

it('devrait créer l'application', () => { expect(component).toBeTruthy(); });

it(devrait avoir le titre 'my-app', () => { expect(component.title).toEqual('my-app'); });

});

beforeEach s'exécute avant chaque test (it), garantissant un état propre pour chaque cas de test.