Outils pour utilisateurs

Outils du site


web:javascript:angular:tests

Ceci est une ancienne révision du document !


Tests unitaires avec Jest

Routing

Component qui dépend de ActivatedRoute

Erreur: Can't resolve all parameters for ActivatedRoute

Ajouter dans providers:

providers: [
  {
    provide: ActivatedRoute,
    useValue: {
      params: of({id: 123}),
    },
  },
],

RouterOutlet

Erreur Template parse errors: 'router-outlet' is not a known element

imports : RouterTestingModule.withRoutes([]),
providers : RouterOutlet

Store

Erreur: NullInjectorError: No provider for Store!

imports: [
  StoreModule.forRoot({})
]

Forms

  Template parse errors:
  Can't bind to 'formGroup' since it isn't a known property of 'form'

import ReactiveFormsModule

Si le component utilise la .value d'un contrôle, ajouter dans le mock de FormGroup:

  public form: FormGroup = new FormGroup({
    firstName: new FormControl(''),
  });

Protractor

Positioner et maximiser le browser sur le deuxième écran lors de développement de tests :

await browser.driver
  .manage()
  .window()
  .setPosition(2400, 100);
 
await browser.driver
  .manage()
  .window()
  .maximize();

SpyOn

const video = require('./video');
 
test('plays video', () => {
  const spy = jest.spyOn(video, 'play');
  const isPlaying = video.play();
 
  expect(spy).toHaveBeenCalled();
  expect(isPlaying).toBe(true);
 
  spy.mockReset();
  spy.mockRestore();
});
web/javascript/angular/tests.1559091344.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)