k12th
@k12th
console.log(`You're pulling my leg, right?`);

Как мокать сервисы (в т.ч. встроенные) для других сервисов в Angular?

Есть какой-то простой модуль с простым сервисом:

// my.mdl.js
import angular from 'angular';
import myService from './services/my';

const myMdl= angular.module('module', []);
myMdl.factory(myService.name, myService);

export default myMdl;


// services/my.js
export default function myService ($q, anotherModuleService) {
    return {
        someFunc () {}
    }
}


// my.spec.js
import mocks from 'angular-mocks';
import myMdl from './my.mdl';

describe('myModule', () => {
    beforeEach(mocks.module(myMdl.name));

    describe('myModuleService', () => {
        let service;

        beforeEach(mocks.inject((myService) => { // LINE A
            service = myService;
        }));

        it('has expected method', () => {
            expect(service.someFunc).toEqual(jasmine.any(Function));
        });
    });
});


Работает, но мне надо замокать $q и anotherModuleService. Вероятно, делается это где-то в районе LINE A.
  • Вопрос задан
  • 615 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы