📚 Cheatsheet

Une collection organisée de snippets de code pour accélérer votre développement. Parcourez, recherchez et copiez en un clic.

Snippets 8

Retour
Débogage - Afficher une valeur avec le pipe json
Facile
<pre>{{ monObjetComplexe | json }}</pre>
Tests - Configuration de base avec TestBed
Intermédiaire
beforeEach(async () => {
  await TestBed.configureTestingModule({
    declarations: [ MonComposant ]
  })
  .compileComponents();
});
Tests - Fournir un service mocké
Avancé
const dataServiceMock = { getData: () => of('données mockées') };

TestBed.configureTestingModule({
  providers: [ { provide: DataService, useValue: dataServiceMock } ]
});
Tests - Simuler un clic et vérifier un résultat
Intermédiaire
it('devrait incrémenter au clic', () => {
  const fixture = TestBed.createComponent(CompteurComponent);
  const component = fixture.componentInstance;
  const button = fixture.debugElement.nativeElement.querySelector('button');
  button.click();
  fixture.detectChanges();
  expect(component.valeur).toBe(1);
});
Tests - Test d'un composant simple
Facile
it('devrait créer le composant', () => {
  const fixture = TestBed.createComponent(AppComponent);
  const app = fixture.componentInstance;
  expect(app).toBeTruthy();
});
Tests - Tester un service HTTP avec HttpTestingController
Avancé
const httpTestingController = TestBed.inject(HttpTestingController);

service.getData().subscribe(data => expect(data).toEqual(testData));

const req = httpTestingController.expectOne('/api/data');
expect(req.request.method).toEqual('GET');
req.flush(testData);
Tests - Utiliser fakeAsync et tick
Avancé
it('devrait mettre à jour après un délai', fakeAsync(() => {
  component.updateAfterDelay();
  tick(500);
  fixture.detectChanges();
  expect(component.message).toBe('Mis à jour');
}));
Tests - Utiliser un Spy (Jasmine)
Avancé
it('devrait appeler la méthode du service', () => {
  const dataService = TestBed.inject(DataService);
  const spy = spyOn(dataService, 'getData').and.returnValue(of([]));
  // ...
  expect(spy).toHaveBeenCalled();
});