Maison  >  Article  >  interface Web  >  Pouvez-vous répondre à la question d'entretien sur les tests unitaires dans Angular ?

Pouvez-vous répondre à la question d'entretien sur les tests unitaires dans Angular ?

青灯夜游
青灯夜游avant
2021-06-08 10:50:121874parcourir

Cet article vous présentera quelques questions d'entretien sur les tests unitaires dans Angular. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Pouvez-vous répondre à la question d'entretien sur les tests unitaires dans Angular ?

Quels sont les types de tests dans Angular et sur quels frameworks de tests sont-ils basés

Les tests angulaires incluent principalement des tests unitaires (Unit Test) et finaux ? -tests de bout en bout ( e2e).

  • Test unitaire : À base de jasmin et de Karma. Jasmine est un framework de test universel, largement cité en plus d'Angular ; Karma est un framework spécifique à Angular pour gérer les configurations de tests, etc., permettant en outre d'exécuter facilement le code de test dans le navigateur spécifié, selon les préférences ; , vous pouvez également choisir Moka et Chai.
  • Test de bout en bout (e2e) : basé sur un rapporteur. protractor est un framework e2e dédié à Angular. [Tutoriels associés recommandés : "tutoriel angulaire"]

Qu'est-ce que le Karma ? Que fait-il dans Angular ?

Karma est un outil permettant d'exécuter du code source par rapport au code de test dans un environnement de navigateur. Il prend en charge l'exécution de tests dans chaque navigateur configuré pour lui. Affichez les résultats simultanément sur la ligne de commande et dans le navigateur, ou saisissez un rapport au format standard permettant aux développeurs de vérifier quels tests ont réussi ou échoué. Karma surveille également les fichiers et peut déclencher des réexécutions de tests chaque fois qu'un fichier est modifié. Dans le même temps, Karma peut également compter la couverture de code (Code Coverage).
Dans le répertoire racine du projet Angular, nous avons le fichier karma.conf pour configurer Karma.

Qu'est-ce que le Jasmin ? A quoi sert Angular ?

Jasmine est un framework de test javascript qui prend en charge une pratique de développement logiciel appelée développement piloté par le comportement, ou BDD en abrégé. Il s'agit d'un style particulier de développement piloté par les tests (TDD).

Jasmine et BDD essaient généralement de décrire les tests dans un format lisible par l'homme afin que les personnes non techniques puissent comprendre ce qui est testé.

Qu'est-ce qu'un rapporteur ?

protractor est le framework de test de bout en bout d'Angular. Il exécute des tests dans un vrai navigateur et interagit avec lui comme une vraie personne. Contrairement aux tests unitaires, où nous testons des fonctionnalités individuelles, nous testons ici la logique entière. Protractor est capable de remplir des formulaires, de cliquer sur des boutons et de confirmer que les données et styles attendus apparaissent dans le document HTML.

Tout comme Karma, Protractor possède son propre fichier de configuration dans protractor.conf dans le répertoire racine du projet Angular.

Test unitaire Test unitaire

Qu'est-ce que les tests unitaires en Angular ?

Les tests unitaires sont utilisés pour tester une seule fonction de manière isolée, un seul composant, et se caractérisent par l'isolement et la vitesse en étoile. Dans ce test unitaire, nous ne pouvons pas dire que tout dans l'application va bien, mais seulement pour une seule unité ou fonction, son bon fonctionnement est garanti.

Bonnes pratiques pour Angular UT

  • Initialiser le contexte utilisé dans beforeEach();
  • La description dans décrire(), it() devrait être clair. Facile à lire et rapide à localiser lorsqu'un test échoue ;
  • Utilisez after(), afterEach() pour réinitialiser l'état global modifié par le test
  • Pour chaque cas de test spécifique, ne le faites pas ; Ce n'est pas trop compliqué, essayez de Garanti d'être dans les 15 lignes de code

Qu'est-ce que TestBed et que fait-il

TestBed est l'ensemble d'outils de test angulaire (@angular/core/testing) utilisé pour créer un module d'environnement de test @NgModule. Vous pouvez

  • TestBed.configureTestingModule pour préparer l'environnement de test

  • Utiliser TestBed.createComponent pour créer un composant de test pour tester le composant cible

Lors du test du service, comment gérer les autres dépendances ?

Utiliser TestBed pour créer des cas d'utilisation, c'est ajouter des dépendances aux fournisseurs

TestBed.configureTestingModule({
  providers: [YourDependencyService]
});

Tests de bout en bout (e2e)

D'après Protractor, le coût des tests est relativement élevé et peut généralement couvrir le cas ensoleillé.

Pour plus de connaissances sur la programmation, veuillez visiter : Introduction à la programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer