2015-10-16 127 views
0

單元測試角功能我有這樣的功能的控制器內使用噶茉莉花

$scope.closeMenu = function() { 
        $('#menu').hide(); 
       }; 

如果一個函數返回一個值,我能夠使用 預期($ scope.value)來測試.toEqual() ; 我們如何使用茉莉花測試上述功能。請幫助謝謝

回答

1

如果一個函數返回一個值,我可以使用expect($ scope.value).toEqual()來測試;我們如何使用茉莉花測試上述功能

您應該重寫您的函數,以便它只設置模型的變量。然後使用Jasmine中已知的方式進行測試。角度的一個要點是,您不要從控制器操縱DOM。只要遵循這些指導原則,控制器就更容易測試。

而且,你的情況重寫是非常簡單的:

$scope.closeMenu = function() { 
    $scope.isOpen = false; 
}; 

模板:

... id="menu" ng-show="isOpen" ... 

如果你還需要測試DOM元素的一些特點,例如它的能見度,jasmine-jquery可能對您有用。例如:

expect($('#menu')).toBeHidden() 
+0

對於我的代碼是不可能寫出單元測試?我不想改變代碼,並試圖找出一種方法來測試這個 – vino

+0

確實有可能,但不是與茉莉花。你需要一些補充。 –

+0

我可以知道需要添加什麼嗎?例如, – vino