2015-04-23 2 views
0

Как создать единичный тест Jasmine для одной функции у поставщика услуг AngularJS. Я хочу создать mock-данные для myObject и тестовой функции getObjectShape() с этими макетными данными в качестве параметра. Как это сделать?Как проверить функцию в сервисе AngularJS с макетными данными

(function() { 
    'use strict'; 
    angular.module('objectShapes') 
      .provider('shapesResolver', shapesResolver); 

     function shapesResolver() { 

      this.$get = function() { 
       return resolver; 
      }; 

      function resolver(myObject) { 

       var service = { 
        getObjectShape: getObjectShape 
       }; 

       function getObjectShape() { 
        return myObject.Shape; 
       } 
      } 
     } 
})(); 
+0

Я не вижу никакой зависимости здесь, я не понимаю, которые издеваться данные вы говорите, и ваша функция распознаватель() не делает ничего, кроме объявления переменной и ничего не делать с ним. Поэтому я немного смущен. Кроме того, вы забыли опубликовать то, что вы пробовали. –

+0

Я сказал, что мне нужно создать mock data для myObject, который является параметром функции resolver. Хорошо, это была моя ошибка, у нее нет зависимостей. Мне нужна простая структура модульного теста для функции resolver. – bambi

ответ

2

Вот вам скелет теста для вашего обслуживания.

describe('shapesResolver service', function() { 
    var shapesResolver; 

    beforeEach(module('objectShapes')); 
    beforeEach(inject(function(_shapesResolver_) { 
     shapesResolver = _shapesResolver_; 
    })); 

    it('should do something, but what?', function() { 
     var mockMyObject = {}; 

     shapesResolver(mockMyObject); 

     // shapesResolver doesn't return anything, and doesn't 
     // have any side effect, so there's nothing to test. 

     expect(true).toBeTruthy(); 
    }); 
}); 
+0

Хорошо, спасибо большое :) – bambi

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