Не удается заставить этот модульный тест (на помощнике) работать без исключений - AngularJS, Karma, Jasmine

0

Я новичок в Angular и Karma, и каждый сайт там, кажется, рекомендует другой способ написания модульных тестов, что делает все это очень запутанным. Помощь приветствуется!

У меня есть вспомогательный класс, который зависит от класса обслуживания. Я пишу блок-тест для вспомогательного класса. У меня есть это:

module("myModule");

    it('works!', inject(function(myHelper) {

        module(function($provide) {
            $provide.service('myService', function() {
                payload = spyOn(myService, 'getPayload').andReturn(
                    {id: 1 });
                });
        });


        expect(myHelper.getSomeData()).toEqual(exepectedData);
    }));

Исключением, которое я получаю при запуске теста, является:

Error: [$injector:unpr] Unknown provider: myHelperProvider <- myHelper

Я пробовал все разные способы сделать это, но пока не получил работу.

Теги:
unit-testing
karma-jasmine
jasmine

1 ответ

0

Попробуйте вызвать module("myModule"); в beforeEach, то есть:

beforeEach(module('myModule'));

Возможно, вам повезло, что на самом деле вызывается функция, возвращаемая module("myModule"), то есть:

module("myModule")();

... но никогда не пробовал это, и у меня есть серьезные сомнения.

Кроме того, я всегда прилагаю мое it() функцию в describe() блоке; не уверен, если это строго необходимо.

  • 0
    Спасибо за ответ. Я добавил, что до каждого и не повезло. Кроме того, у меня есть блок описания. Я просто не показывал это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню