Articles of jasmine

Comment tester le fournisseur personnalisé AngularJS

Quelqu’un at-il un exemple de la façon de tester un fournisseur d’unité? Par exemple: config.js angular.module(‘app.config’, []) .provider(‘config’, function () { var config = { mode: ‘dissortingbuted’, api: ‘path/to/api’ }; this.mode = function (type) { if (type) { config.isDissortingbutedInstance = type === config.mode; config.isLocalInstance = !config.isDissortingbutedInstance; config.mode = type; return this; } else { return […]

Est-il possible d’utiliser toHaveBeenCalledWith de Jasmine avec une expression régulière?

J’ai passé en revue la documentation de Jasmine sur le composant toHaveBeenCalledWith afin de comprendre s’il est possible de transmettre une expression régulière pour un argument, si cet argument est supposé être une chaîne. Malheureusement, cette fonctionnalité n’est pas prise en charge. Il existe également un problème sur github qui demande cette fonctionnalité. J’ai creusé […]

Espionner un constructeur utilisant Jasmine

J’utilise Jasmine pour tester si certains objects sont créés et les méthodes appelées. J’ai un widget jQuery qui crée des objects flipcounter et appelle la méthode setValue. Le code pour flipcounter est ici: https://bitbucket.org/cnanney/apple-style-flip-counter/src/13fd00129a41/js/flipcounter.js Les flipcounters sont créés en utilisant: var myFlipCounter = new flipCounter(“counter”, {inc: 23, pace: 500}); Je veux tester que les flipcounters […]

Comment lire un rapport sur la couverture d’Istanbul?

J’ai toujours utilisé Jasmine pour mes tests unitaires, mais j’ai récemment utilisé Istanbul pour me donner des rapports de couverture de code. Je veux dire que je comprends l’ essentiel de ce qu’ils essaient de me dire, mais je ne sais pas vraiment ce que chacun de ces pourcentages représente (résultats, twigs, fonctions, lignes). Jusqu’à […]

Comment détourner une méthode d’object de jasmine?

Selon la documentation de Jasmine, un simulacre peut être créé comme ceci: jasminee.createSpyObj(someObject, [‘method1’, ‘method2’, … ]); Comment échanger une de ces méthodes? Par exemple, si vous voulez tester ce qui se passe quand une méthode lance une exception, comment le feriez-vous?

Rapporteur: Comment attendre que la page soit complète après avoir cliqué sur un bouton?

Dans une spécification de test, je dois cliquer sur un bouton sur une page Web et attendre que la nouvelle page soit complètement chargée. emailEl.sendKeys(‘jack’); passwordEl.sendKeys(‘123pwd’); btnLoginEl.click(); // …Here need to wait for page complete… How? ptor.waitForAngular(); expect(ptor.getCurrentUrl()).toEqual(url + ‘abc#/efg’);

Comment modifier le délai d’attente sur une spécification asynchrone jasminee-node

Comment puis-je faire passer ce test sans avoir recours à des runs / waitsFor pour les blocs? it(“cannot change timeout”, function(done) { request(“http://localhost:3000/hello”, function(error, response, body){ expect(body).toEqual(“hello world”); done(); }); });

Comment simulez-vous un service dans AngularJS lors des tests unitaires avec du jasmine?

Disons que je dispose d’un shop services qui dépend de deux schedule services et d’un warehouse . Comment puis-je injecter différentes versions de schedule et les warehose en shop pour les tests unitaires? Voici mon service: angular.module(‘myModule’).service(‘shop’, function(schedule, warehouse) { return { canSellSweets : function(numRequiredSweets){ return schedule.isShopOpen() && (warehouse.numAvailableSweets() > numRequiredSweets); } } }); Voici […]

Enzyme de réaction trouver le deuxième (ou nième) noeud

Je teste un composant React avec le rendu superficiel de Jasmine Enzyme. Simplifié ici pour les besoins de cette question … function MyOuterComponent() { return ( … … … ) } MyOuterComponent a 2 instances de MyInnerComponent et j’aimerais tester les accessoires sur chacun d’eux. Le premier que je sais tester. J’utilise find avec first […]

Les contrôleurs de directive de test unitaire dans Angular sans rendre le contrôleur global

Dans l’excellent référentiel de Vojta Jina où il démontre les tests de directives, il définit le contrôleur de directive en dehors du wrapper de module. Voir ici: https://github.com/vojtajina/ng-directive-testing/blob/master/js/tabs.js N’est-ce pas une mauvaise pratique et polluer l’espace de noms global? Si l’on devait avoir un autre endroit où il serait logique d’appeler quelque chose TabsController, cela […]