comment les contrôleurs de test créé angulaire.module().contrôleur() dans Angular.js à l'aide de Moka
J'ai un contrôleur créé angulaire.module().contrôleur() comme dans cette situation
myModule = angular.module('myApp.controllers', [])
.controller('testCtrl', ['$scope', function($scope){
$scope.test = 'this is a test';
}]);
maintenant, j'ai besoin d'utiliser moka pour tester si mon contrôleur fonctionne correctement. Dans Angulaire il y a quelques exemples où les contrôleurs sont déclarés comme des fonctions globales ( ex. http://docs.angularjs.org/tutorial/step_04 ), de sorte qu'ils utilisent
function PhoneListCtrl() {...}
.....
beforeEach(function() {
scope = {},
ctrl = new PhoneListCtrl(scope);
});
it('shod test whatever PhoneListCtrl does ', function() {
expect(scope.someProp).toBe('whateverValue');
});
donc les questions sont:
1) comment puis-je faire un test similaire pour les contrôleurs qui sont déclarées à l'aide angulaire.module().contrôleur()
2) comment le faire en utilisant Moka
OriginalL'auteur Liviu | 2012-11-27
Vous devez vous connecter pour publier un commentaire.
AngularJS fournit se moque de qui rendre disponible certaines fonctions utiles pour l'injection de dépendances lors des tests.
Exemple:
(jasmin)
Disons que nous voulons effectuer le premier test de la tutoriel officiel et nous avons défini une contrôleurs de module. (vous pourriez espace de noms le nom du module, mais je veux rester simple)
Ensuite, nous créons un module d'application et de l'injecter nos contrôleurs module
Enfin, nous pouvons tester de cette
Je ne l'ai pas fait en moka, mais je suppose que le processus est similaire.
Pd: j'ai fait le tutoriel en utilisant CoffeeScript, voici les bits https://gist.github.com/4163147
OriginalL'auteur jaime
Si vous êtes à l'aide de moka, méfiez-vous qu'il n'y a pas de support pour
angular.mock.module
ouangular.mock.inject
, sauf si vous avez mis à niveau vers angulaires-1.1.1. Je suis dans le même bateau, mais je ne peux pas mettre à niveau à cause d'un autre problème.Je veux utiliser moka, parce que de mon côté serveur tests sont à moka, et je préfère avoir le même framework de test sur les deux côtés, donc je suis un peu dans un cornichon.
Donc, si vous ne pouvez pas utiliser injecter/module, alors vous pouvez essayer de cette façon:
Belle solution de contournement, essayé cette solution et fonctionne bien. Mais 1.1.4 version angulaire.maquette fonctionne avec moka.
yep, si vous allez avec angulaires-branche instable, ils ne supportent moka angulaire.le module.maquette et angulaire.se moquer.injecter
OriginalL'auteur zenocon