Написать юнит тест для сервиса: AngularJS - PullRequest
0 голосов
/ 31 мая 2018

У меня есть несколько вопросов, чтобы написать правильный модульный тест для службы, используя jasmine в качестве платформы и karma в качестве тестового прогона.

вот что я реализовал в example-service.js :

export default class ExampleService {
constructor($resource, $http) {
'ngInject';

this.$resource = $resource;
this.$http = $http;
}

exampleMethodOne() {
//some code lines
}

exampleMethodTwo() {
//some code lines 
}

}
ExampleService.selector = 'myExampleService';

Вот что я написал в своем тесте example-service.test.js

let myExampleService, $httpBackend;

  beforeEach(() => {
    angular
      .module('exampleApp', [])
      .service(ExampleService.selector, ExampleService);
    angular.mock.module('exampleApp');
  });

  beforeEach(inject((_myExampleService_, _$httpBackend_) => {
    myExampleService = _myExampleService_;
    $httpBackend = _$httpBackend_;
  }));

Я импортировал angular-mocks.jsи example-service.js

когда я попробую этот сценарий, консоль выдаст ошибку Error: [$injector:unpr] Unknown provider: $resourceProvider <- $resource <- myExampleService .

, пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 31 мая 2018

$resource требует загрузки angular-resource.js и соответствующего модуля:

  beforeEach(() => {
    angular
      .module('exampleApp', ['ngResource'])
      .service(ExampleService.selector, ExampleService);
    angular.mock.module('exampleApp');
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...