0
votes

Test en angulaire avec dépendance du service

J'essaie d'écrire mon premier test angulaire 6. J'ai un composant qui renvoie une liste de sociétés d'un service.

Il ressemble à ceci:

modèle xxx

composant.ts xxx

service xxx

Je voudrais vérifier que je peux voir la liste des entreprises du composant. Dans mes spécifices, j'ai essayé d'ajouter une apiser moquée selon https: / /angular.io/guide/testting#Component-with-a-dependency sans chance.

Je suppose que le test devrait ressembler à ceci, mais j'ai des problèmes réellement injectables le service moqué dans ce test. xxx


0 commentaires

3 Réponses :


0
votes

La stratégie consiste à injecter un objet titulaire de lieu pour votre service. Dans le test, obtenez une référence à cet objet titulaire de lieu, puis ajoutez de fausses fonctionnalités qui seront appelées lors du test du composant.

Exemple ( i omis code qui n'appartient pas le point que j'essaie de faire < / em>) xxx


0 commentaires

0
votes

Vous pouvez vous moquer de votre service: xxx

dans votre test, vous donnerez des entreprises à vous moquer de sorte que votre fonction est appelée, vous aurez vos entreprises. affiché.: xxx


0 commentaires

0
votes

Dans votre exemple, le test de l'unité doit être assez simple à mettre en œuvre.

Cela devrait être quelque chose comme ça: xxx

Vous devez créer un fichier de test pour le composant et un pour le service. Dans le test de service, vous devriez faire presque la même chose comme ci-dessus, mais vous devez initialiser la liste des entreprises, appeler la méthode et vérifier si le résultat est correct.

Service.companyList = [C1, C2 ...]

laissez res = service.getcompanies ();

attendre (res) .toequal (service.companylist);

ICI Vous pouvez trouver plus d'informations sur les tests de test et de l'unité.


1 commentaires

J'ai oublié l'affectation de l'instance du composant de l'appareil au composant. Donc, sous la fixation = testez-la. CreateComponent (composant); , Ajouter un composant = Fixture.comPonEnStance;