2017-06-15 1 views
2

Je voudrais utiliser Jest pour tester mes directives angulaires 1.x. J'ai déjà un environnement de test fonctionnel avec des plaisanteries, mais je ne suis pas sûr de savoir comment (et si je peux) instantané tester mes directives/composants.Test d'instantanés sur Angular 1.x avec Jest

Je ne pense pas que je puisse utiliser l'objet de rendu utilisé dans cet exemple (ressemble à un objet spécifique à la réaction) http://facebook.github.io/jest/docs/en/snapshot-testing.html#content et je ne sais pas comment utiliser la fonction .toJSON() pour sérialiser ma directive /Composants.

Ceci est le seul lien que j'ai trouvé sur l'utilisation de Jest + Angular 1.x: https://medium.com/aya-experience/testing-an-angularjs-app-with-jest-3029a613251 et je ne trouve pas de réponse sur le test de snapshots.

Merci à l'avance,

Federico

+0

avez-vous trouvé quoi que ce soit à ce sujet? Je serais intéressé aussi –

+0

Tobias, malheureusement pas de réponse et n'a pas eu le temps de trouver une nouvelle réponse par moi-même –

Répondre

0

Il fonctionne.

test.js

const angular = require('angular'); 
require('angular-mocks'); 

describe('Renderer',() => { 
    let element; 
    let scope; 

    beforeEach(
    angular.mock.inject(($rootScope, $compile) => { 
     scope = $rootScope.$new(); 
     element = $compile(
     '<div><label ng-show="label.show">1</label><label ng-hide="label.show">2</label></div>' 
    )(scope); 
     scope.$digest(); 
    }) 
); 

    it('should render the element',() => { 
    expect(element).toBeDefined(); 
    expect(element[0]).toMatchSnapshot(); 
    }); 
}); 

Snapshot

exports[`Renderer should render the element 1`] = ` 
<div 
    class="ng-scope" 
> 
    <label 
    class="ng-hide" 
    ng-show="label.show" 
    > 
    1 
    </label> 
    <label 
    ng-hide="label.show" 
    > 
    2 
    </label> 
</div> 
`;