2015-04-23 190 views
0

如何在AngularJS服務提供者中爲一個函數創建Jasmine單元測試。我想爲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

我說我需要爲函數解析器的參數myObject創建模擬數據。好吧,這是我的錯誤,它沒有依賴關係。我需要函數解析器的單元測試的簡單結構。 – 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

相關問題