簡體   English   中英

通過注入控制單元測試角度誤差

[英]error by injecting the control unit tests the angular

我在使用茉莉花和業力進行角度測試時遇到問題。 如果您能幫助我,我將不勝感激。 控制台會記錄錯誤:[$ jector:modulerr],並帶有一個鏈接,該鏈接聲稱是模塊由於某些異常而無法加載時出現的錯誤。

在業力配置文件中:

files: [
    'bower_components/angular/angular.min.js',  
    'bower_components/angular-route/angular-route.min.js', 
    'node_modules/angular-mocks/angular-mocks.js',
    'www/lib/masks.min.js',
    'www/lib/ui-utils-mask.js',
    'www/js/app.js', 'www/js2/*.js',
    'tests/*.test.js' 
],

我的測試:

describe('Register', function () {
    beforeEach(angular.mock.module('app', ['onsen', 'ui.utils.masks']));
    var $controller;
    beforeEach(inject(function (_$controller_) {
        $controller = _$controller_;
    }));
    describe('bla bla bla', function () {
        it('tesye ', function () {
            var $scope = {};
            console.log("$controler: " + $controller);
        });
    });
});

如果我注釋第4行和第5行(beforeEach),則不會發生相同的錯誤,但是未定義屬性“ controller”。

我認為您沒有按預期使用$ controller。 它僅應用於加載要測試的控制器,如下所示:

var ctrl, $scope;
beforeEach(inject(function ($controller, _$rootScope_){
    $scope = _$rootScope.$new();
    ctrl = $controller('MyCtrl', {$scope: $scope});
}));
describe('bla bla bla', function () {
    it('tesye ', function () {
        console.log("ctrl" + ctrl);
        console.log("My controller scope "+$scope);
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM