【问题标题】:unit testing Module failed to load + karma + ionic angularAngular [duplicate]单元测试模块无法加载+业力+离子角度角[重复]
【发布时间】:2018-03-05 09:48:15
【问题描述】:

尝试在单元测试业力 + 茉莉花 + 离子角 1.5.3 中加载控制器模块。

模块/控制器文件

angular.module('App.View.Controllers', []).controller('ListController',
function($scope){
$scope._userName = UserService.getUserObject().maxperson;
});

describe("ListController", function(){
var $scope, $controller, ListController;
beforeEach(function () {
module('App.View.Controllers');
});
beforeEach(inject(function(_$rootScope_, _$controller_) {
$scope = $rootScope.$new();
$controller = _$controller_;
ListController = $controller('ListController', {$scope: $scope});
}));
it("has a dummy controller", function(){
expect(2+2).toEqual(4);
});
it('should be defined', function() {
expect(ListController).toBeDefined();
});
});

给我错误:

错误:[$injector:modulerr] 无法实例化模块 App.View.Controllers 由于: 错误:[$injector:nomod] 模块“App.View.Controllers”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。
http://errors.angularjs.org/1.5.3/$injector/nomod?p0=App.View.Controllers 在 node_modules/angular/angular.js:68:12

它是离子应用程序。实际上控制器也加载依赖项,但为了时间的缘故,我已经将它注释掉以制作一个简单的控制器加载。

package.json file
{
    "name": "karma-2174",
    "version": "1.0.0",
    "description": "",
    "devDependencies": {
    "@uirouter/angularjs": "^1.0.3",
    "angular": "^1.5.3",
    "angular-mocks": "^1.5.3",
    "jasmine-core": "^2.0.4",
    "karma": "^1.5.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-jasmine": "^1.1.0"
    },
    "scripts": {
    "test": "karma start"
    },
    "author": "",
    "license": "ISC"
}

【问题讨论】:

    标签: angularjs unit-testing ionic-framework karma-runner


    【解决方案1】:

    请检查您是否已在 karma.conf.js 中添加了所有文件,并以该链接为例:

    对于 ionic,您已在 karma.conf 文件中添加了主要 ionic 文件

    https://scotch.io/tutorials/testing-angularjs-with-jasmine-and-karma-part-1

    【讨论】:

    • 谢谢桑托什。我仅通过参考本文来添加所有必需的文件。现在我在 karma.conf.js 中添加了 ionic.bundle.js,所以没有定义像模块和注入这样的错误......我尝试添加具有这个 angular.module('App.Libs').factory( '离子', function() { return window.ionic; });那么获取 Module App.libs 没有定义。
    • 请为测试用例添加角度模拟库
    • 是的,在加载 ionic.bundle.js 之后添加了 './node_modules/angular-mocks/angular-mocks.js'。现在出现错误错误:[$injector:modulerr] 无法实例化模块未定义由于:错误:[ng:areq] 参数 'fn' 不是函数,未定义 errors.angularjs.org/1.5.3/ng/…
    • 这是您遇到的同一问题的解决方案stackoverflow.com/questions/27509523/…
    猜你喜欢
    • 2016-02-20
    • 2014-12-24
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    相关资源
    最近更新 更多