Outils pour utilisateurs

Outils du site


lang:angular:test

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
lang:angular:test [2021/08/09 11:09] – Création avec "Karma" rootlang:angular:test [2021/08/20 22:11] (Version actuelle) – Ajout de "Protractor" root
Ligne 1: Ligne 1:
 +=====Angular=====
 +
 +====Tests unitaires====
 +
 +===Erreurs===
 +
 +  * ''error NG8001: 'xxx' is not a known element''
 +
 +<code>
 +1. If 'xxx' is an Angular component, then verify that it is part of this module.
 +2. If 'xxx' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
 +</code>
 +
 +Si le problème existe uniquement lors des ''ng test'', c'est qu'il s'agit d'un composant enfant du composant à tester.
 +
 +On peut soit donc désactiver cet avertissement en ajoutant ''schemas: [NO_ERRORS_SCHEMA]'' lors du test,
 +
 +<code javascript>
 +import { NO_ERRORS_SCHEMA } from '@angular/core';
 +
 +TestBed.configureTestingModule({
 +        declarations: [YourComponent],
 +        schemas: [NO_ERRORS_SCHEMA]
 +      }).compileComponents();
 +</code>
 +
 +Soit utiliser un stub et le déclarer dans ''TestBed.configureTestingModule''.
 +
 +<code javascript>
 +@Component({selector: 'xxx', template: ''})
 +class MeyerhofCalcComponent {
 +}
 +
 +    await TestBed.configureTestingModule({
 +      declarations: [MainComponent, MeyerhofCalcStubComponent]
 +    }).compileComponents();
 +</code>
 +
 +Il serait aussi possible d'importer le composant mais dans ce cas, on quitte les tests unitaires pour passer aux tests fonctionnels.
 +
 +<code javascript>
 +    TestBed.configureTestingModule({
 +      imports: [
 +        AppModule
 +      ],
 +    }).compileComponents();
 +</code>
 +
 +[[https://stackoverflow.com/questions/55966510/element-not-known-error-in-karma-when-ran-ng-test|Element not known error in Karma when ran “ng test”]] {{ :lang:angular:projet:angular_-_element_not_known_error_in_karma_when_ran_ng_test_-_stack_overflow_2021-08-09_10_25_05_.html |Archive du 03/05/2019 le 09/08/2021}}
 +
 +[[https://angular.io/guide/testing-components-scenarios|Component testing scenarios]] {{ :lang:angular:projet:angular_-_component_testing_scenarios_2021-08-09_10_36_16_.html |Archive du v12.1.5 le 09/08/2021}}
 +
 =====Karma===== =====Karma=====
  
Ligne 27: Ligne 79:
  
 [[https://karma-runner.github.io/6.3/config/files.html|Karma - Files]] {{ :lang:angular:test:karma_-_files_2021-08-09_11_08_22_.html |Archive du v6.3 le 09/08/2021}} [[https://karma-runner.github.io/6.3/config/files.html|Karma - Files]] {{ :lang:angular:test:karma_-_files_2021-08-09_11_08_22_.html |Archive du v6.3 le 09/08/2021}}
 +
 +=====Protractor=====
 +
 +Protractor permet de faire des tests en e2e (end to end) avec des scripts en Angular.
 +
 +Après de nombreuses heures à essayer de le configurer, je n'ai finalement pas réussi.
 +
 +Ne pas utiliser. Un certificat de décès existe depuis le [[https://github.com/angular/protractor/issues/5502|5 avril 2021]] {{ :lang:angular:test:future_of_angular_e2e_plans_for_protractor_issue_5502_angular_protractor_2021-08-20_22_09_30_.html |Archive du 05/04/2021 le 20/08/2021}}
 +
lang/angular/test.1628500142.txt.gz · Dernière modification : 2021/08/09 11:09 de root