2016-08-03 7 views
0

У меня возникли проблемы с доступом к моим услугам и фильтрам в модульных тестах (я еще не пробовал директивы). Ранее я писал модульные тесты, но по мере того как я перешел к конфигурации наших сборников, у меня возникли проблемы с доступом к нашим новым сервисам для написания модульных тестов. Я постоянно получаю TypeError: null is not an object (evaluating 'currentSpec.$modules') in.... Я сделал некоторое чтение, и похоже, что это может быть связано с пакетами узлов, которые я использую. Мне было интересно, может ли большее сообщество убедиться в правильности этих конфигураций. Я сократил файлы ниже.Услуги по тестированию модулей в угловых условиях с жасмином, кармой и ng-Mock

С текущей конфигурацией это ошибка.

package.json

"devDependencies": { 
    "angular": "1.5.7", 
    "angular-mocks": "1.5.7", 
    "jasmine": "2.4.1", 
    "jasmine-core": "2.4.1", 
    "karma-browserify": "5.1.0", 
    "karma-chrome-launcher": "1.0.1", 
    "karma-jasmine": "1.0.2", 
    "karma-nyan-reporter": "0.2.4", 
    "karma-phantomjs2-launcher": "0.5.0", 
    "phantomjs2": "2.2.0" 
} 

karma.conf.js

module.exports = function(config) { 
    config.set({ 

    basePath: '', 

    frameworks: ['browserify', 'jasmine'], 

    files: [ 
     'app/main.js', 
     'app/modules/**/*.spec.js', 
     'app/shared/**/**/*.spec.js' 
    ], 

    preprocessors: { 
     'app/main.js': ['browserify'], 
     'app/modules/index.js': ['browserify'], 
     'app/shared/index.js': ['browserify'], 
     'app/modules/**/*.spec.js': ['browserify'], 
     'app/shared/**/**/*.spec.js': ['browserify'] 
    }, 
    }) 
} 

service.spec.js

describe('Unit: Services', function() { 
    require('angular-mocks/ngMock'); 

    var APIHelper; 

    beforeEach(function() { 
    angular.mock.module('app.common.services'); 
    }); 

    beforeEach(inject(function(apiHelperService) { 
    APIHelper = apiHelperService; //injection is what's breaking 
    })); 

    it('should exist', function() { 
    expect(APIHelper).toBeDefined(); 
    }); 

}); 

че e сервисы и спецификации загружаются и в правильном порядке. У этой службы нет зависимостей. Я предполагаю, что получаю те же самые ошибки, когда мне нужно вводить зависимостей между службами, но если я смогу понять, какие инъекции выдумали, я могу приложить нужные услуги, поскольку они мне нужны.

// This worked in a controller 
angular.mock.inject(function GetDependencies(service) { 
    service = service; 
}); 

Благодарим вас за то, что нашли время, чтобы просмотреть это и потенциально ответить на вопрос.

-W

ответ

0

Я не включая require('angular-mocks/ngMock') в моем приложении декларации. Иногда это мелочи.

+0

эй чувак, можете ли вы принять его как ответ, чтобы этот вопрос был закрыт – dreamweiver

 Смежные вопросы

  • Нет связанных вопросов^_^