Как использовать jest для настройки глобального параметра моего angular.module ('app')? - PullRequest
0 голосов
/ 19 декабря 2018

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

(function(App) {
    App.controller('HelloWorldController', helloWorldController)
})(App)

но как использовать шутку, издевающуюся над глобальным параметром 'App'?мой тестовый код (helloworld.controller.spec.js):

require('angular');
require('angular-mocks');
require('./helloworld.controller');

describe('helloworldController', function() {
    var $controller;
    var $rootScope;

    beforeEach(inject(function(_$controller_, _$rootScope_){
        $controller = _$controller_;
        $rootScope = _$rootScope_;
    }))

    describe('helloworldController.getText', function() {
        it('should link two string when execute getText function', function() {
            var $scope = $rootScope.$new();
            var controller = $("HelloWorldController", {$scope: $scope});
            var stringA = 'hello';
            var stringB = 'world';
            expect('hello, world').toEqual(controller.getText(stringA, stringB));
        })
    })
})

когда я запускаю jest, я получаю эту ошибку

 FAIL  src/component/helloworld/helloworld.controller.spec.js
  ● Test suite failed to run

    ReferenceError: App is not defined

      30 |     */
      31 |     App.controller('HelloWorldController', helloWorldController)
    > 32 | })(App)
         |    ^

      at Object.App (src/component/helloworld/helloworld.controller.js:32:4)
      at Object.require (src/component/helloworld/helloworld.controller.spec.js:4:1)

Test Suites: 1 failed, 1 total

как мне сделать, чтобы это исправить ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...