javascript - 两个 Controller 测试套件,其中一个给出 "Error: [ng:areq] Argument ' modalController' 不是函数,未定义”

标签 javascript angularjs unit-testing karma-jasmine

Controller 测试套件一(主 Controller ):

describe("RTL cache viewing utility main controller test suite", function () {

var $rootScope, mainCtrl;


beforeEach(module('app'));
beforeEach(inject(function ($controller, $rootScope, $compile, $q) {
    mainScope = $rootScope.$new();
    ctrl = $controller('mainCtrl', {
        $scope: mainScope
    });
}));

接着是另一个描述和。这个效果很好。

第二个测试套件,用于我的模态 Controller :

describe("RTL cache viewing utility modal controller test suite", function () {

var $rootScope, modalController;

beforeEach(module('app'));
beforeEach(inject(function ($controller, $rootScope, $compile) {
    mainScope = $rootScope.$new();
    ctrl = $controller('modalController', {
        $scope: mainScope
    });

}));

后跟另一个描述和一个

第二个 Controller 抛出此错误:错误:[ng:areq]参数“modalController”不是函数,未定义

主 Controller 声明:

var app = angular.module("app", ["agGrid", "ui.bootstrap"]);
angular.module("app").controller("mainCtrl", ["$scope", "$timeout", "dateFilter", "$http", "shareDataService", "getDataService", "$q", function ($scope, $timeout, dateFilter, $http, shareDataService, getDataService, $q) {

//stuff
}]);

模态 Controller :

angular.module("app").controller("modalCtrl", ["$scope",     "shareDataService", "getDataService", function ($scope, shareDataService,     ngDialog, getDataService) {
//stuff
}]);

最佳答案

你好像把名字搞混了

您的 Controller 被声明为 modalCtrl 而不是您尝试在测试中使用的 modalController

关于javascript - 两个 Controller 测试套件,其中一个给出 "Error: [ng:areq] Argument ' modalController' 不是函数,未定义”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36017006/

相关文章:

javascript - jsfiddle : not able to add script with http

javascript - JS promise/async 澄清问题

javascript - Protractor by repeater 遍历对象属性

php - PHP 中 JS 函数调用中的简单引用

javascript - 在 JavaScript 中调用带括号和不带括号的函数的区别

javascript - 嵌套ng-repeat导致浏览器卡顿如何处理

javascript - 指令隔离范围与嵌入的 HTML

unit-testing - 在 Go 中测试不带 sleep 的异步结果

python-3.x - Python 中的测试驱动开发

asp.net-mvc - ASP.NET MVC - 测试页面到模型绑定(bind)