Je suis en train d'exécuter les cas de tests unitaires pour mes contrôleurs, j'ai essayé ce qui suit, mais obtenir l'erreur ci-dessous, s'il vous plaît laissez-moi savoir à exécutez ce test avec succès. Merci d'avance.Uncaught Erreur: Mismatched Module anonyme define(): fonction test de karma et l'unité de jasmin avec requirejs
spec.js:
describe('MainCtrl', function() {
beforeEach(module('app-module'));
var $controller;
beforeEach(inject(function(_$controller_){
$controller = _$controller_;
}));
describe('$scope.titleofapp', function() {
var $scope, controller;
beforeEach(function() {
$scope = {};
controller = $controller('MainCtrl', { $scope: $scope });
});
it('sets the title of app to "app-module" module', function() {
$scope.titleofapp();
expect($scope.title).toEqual('My Test App !');
});
});
});
app.js:
define(['angular', './app-module'], function(angular, appModule) {
'use strict';
return appModule.controller('MainCtrl', ['$http', '$q', 'appService', '$stateParams', function($http, $q, $stateParams, appService){
$scope.titleofapp = function(){
$scope.title = 'My Test App !';}
}]);
});
Voici ma configuration de fichier karma.conf.js:
karma.conf.js:
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine','requirejs'],
files: [
'node_modules/requirejs/require.js',
'node_modules/karma-requirejs/lib/adapter.js',
'node_modules/angular/angular.js',
'node_modules/angular-mocks/angular-mocks.js',
'public/app/app.js',
'public/tests/spec.js'
],
exclude: [
],
plugins: [
'karma-requirejs',
'karma-chrome-launcher',
'karma-jasmine'
],
preprocessors: {
},
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
concurrency: Infinity
})
}
J'ai configuré requirejs li ke ci-dessus et obtenir l'erreur ci-dessous maintenant: Erreur:
Uncaught Error: Mismatched anonymous define() module: function (angular, appModule) {
'use strict';
return appModule.controller('MainCtrl', ['$http', '$q', 'appService', '$stateParams', function($http, $q, $stateParams, appService){
$scope.titleofapp = function(){
$scope.title = 'My Test App !';}
}]);
}
http://requirejs.org/docs/errors.html#mismatch
at node_modules/requirejs/require.js:165
On dirait que vous utilisez 'requireJS' mais vous n'avez pas inclus dans le tableau' files'. –
avez-vous regardé [guide comment faire fonctionner le karma avec require.js] (http://karma-runner.github.io/1.0/plus/requirejs.html)? Je ne peux pas parler sur des choses angulaire, mais concernant le karma requirejs est configuré – xmike
@xmike façon pressante et abusive, je l'ai ajouté requirejs et obtenir l'erreur: Uncaught Erreur: Module anonyme définir Mismatched(): fonction, et mis à jour le poste, s'il vous plaît laissez-moi savoir à ce sujet, merci d'avance. – Sana