2016-11-26 3 views
0

Итак, у меня есть существующий групповой проект, который должен иметь покрытие для тестирования. Проект использует npm и angularJS. Я начал с установки npm на jquery, а также с жасмином и угловатыми mocks. Я думал, что хорошее, простое место для начала (не много опыта тестирования) будет с маршрутизацией. У меня есть очень простая маршрутизация, определенная здесьИспользование Jasmine в существующем проекте AngularJS/Bootstrap не найден.

app.config(['$routeProvider', function ($routeProvider) { 
    $routeProvider 
    .when("/", 
     { templateUrl: "partials/home/home.html", 
      controller: "PageCtrl" 
     }) 
    // else 404 
    .otherwise("/404", 
     { templateUrl: "partials/404.html", 
      controller: "PageCtrl" 
     }); 
}]); 

и я начал писать тесты. начал с очень простым примером, полученные на сайте

describe('Route testing', function() { 

    beforeEach(module('tutorialWebApp')); 


    it('should route accordingly', inject(function ($route) { 
    expect($route.routes['/'].controller).toBe('PageCtrl'); 
    expect($route.routes['/'].templateUrl).toEqual('partials/home/home.html'); 
    })); 
}); 

Я получаю ошибку типа: модуль не является функция, указывая на мой beforeEach линию. Я исследовал эту проблему, и ни одно из решений, которые я нашел, не оказало мне никакого прогресса. Любая помощь была бы оценена

ответ

0

beforeOach принимает функции обратного вызова. Ваш код вызывает модуль , который, очевидно, не возвращает функцию. Ваш вызов модуля должен быть завернут внутри функции обратного вызова. Что-то вроде этого:

beforeEach(function(){ 
    module('tutorialWebApp'); 

    // some other code 
}); 
+0

По-прежнему говорит, что модуль не является функцией. –

+0

Нет. [Угловое руководство для модульного тестирования] (https://docs.angularjs.org/guide/unit-testing) говорит о том, что вопрос, о котором идет речь в OP, верен. – tanmay

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