簡體   English   中英

茉莉花中的單元測試用例

[英]Unit Test case in Jasmine

我正在嘗試為循環中的條件編寫測試用例,但是我沒有將其作為過濾器的一部分。 有什么辦法可以測試循環中的條件條件。 我的測試用例根本不執行這一行代碼。

下面是我的控制器代碼

   $scope.init = function()
   {
for (var i = 0; i < $scope.tempdata.length; i++) { //mapping of the status   to text

            if ($scope.tempdata[i].Status == 'U') {
                    $scope.statusText = 'text1';

                }
                if ($scope.tempdata[i].Status == 'A' || $scope.tempdata[i].Status == 'W') {
                    $scope.statusText = 'text2';
                }
                if ($scope.tempdata[i].Status == 'F') {
                    $scope.statusText = 'text3';
                }
                if ($scope.tempdata[i].Status == 'P') {
                    $scope.statusText = 'text4';
                }
                if ($scope.tempdata[i].Status == 'E') {
                    $scope.statusText = 'text5';
                }
                if ($scope.tempdata[i].Status == 'S') {
                    $scope.statusText = 'text6';
                }
                  }
          }

以下是我的測試用例

 it('should set the status', function() {
   scope.responseSet = true;
   var mockTempData =[{'Status': 'F'}];
    scope.tempdata = mockTempData
    scope.init();  
    expect(scope.statusText).toBe(text3);
});

當我運行業力時,我的測試用例失敗,預期為”為text3。

告訴您是否顯示如何將示波器“注入”控制器測試會更容易。 但是,我發現調試單元測試以仔細地逐步完成它們並確保一切與我期望的每一步都非常有用。

您還應該最后一行是

expect(scope.statusText).toBe('text3');

請注意,應該將測試代碼中的text3更改為'text3',因為這是實際控制器中的字符串,而不是變量名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM