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 […]
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é […]
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 […]
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’à […]
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?
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 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(); }); });
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 […]
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 […]
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 […]