2016-08-02 11 views
0

私のカルマカバレッジレポートは、ローカル変数をカバーすることを示しています。それが可能であるか、そのkarma-coverageレポートの問題です。Jasmineは、ローカル変数またはカルマのカバレッジレポートを減らすようお勧めしますか?

角度コントローラコードをご覧ください。

'use strict'; 

angular.module('moduleName') 
    .controller('FormController', [ '$log', 
     function FormController($log) { 

      // Controller Local Variables. 
      var that = this; 

      that.hideLoader = function() { 
       that.isLoading = false; 
      }; 

     } 
]); 

enter image description here

私の質問:ローカル変数と関数パラメータの条件をカバーすることも可能ということです。例えば以下の通りです。

that.hideLoader = function (userObj) { 
    var id = userObj.id; 

    if(id) { 
    that.isLoading = false; 
    } 
    else { 
    that.isError = true; 
    } 
}; 

は、上記の例では、Iは、ローカルid変数にユーザオブジェクトID属性を宣言しました。今は非常にコードをカバーするのは難しいです。この場合、ジャスミンは地域変数やカルマカバレッジレポートの提案を減らすようアドバイスしますか?

答えて

0

私のカルマカバレッジレポートは、ローカル変数をカバーしたいと考えています。 が可能であるか、またはカルマカバレッジレポートの問題です。

カバレッジツールは、すべてのコード行にテストが適用されていることを確認することで正しく機能しています。これがコードカバレッジの定義です。一方

var that = this; 
that.hideLoader = function() { that.isLoading = false}; 

ませローカル変数です。定義されているように、それらはコントローラのプロパティです。注意の単語:"use strict"を使用し、that.isLoadingなどの宣言されていないプロパティを使用しないでください。それはあまり読めるものではなく、言語がそれを許しても、それは悪い習慣です。

また、質問をするときは、コードの画像ではなくコードを貼り付けてください。

更新

あなたの質問への答えはイエスです。カルマカバレッジは、コードのすべての行(緑)に触れている、または手を触れていない(赤)でレポートします。

+0

あなたは疑問を誤解しているかもしれません。私の質問はその変数に関するもので、私の質問にはあなたが探しているコードがあります!! –

+0

タイトルのコード例を含めて詳細を更新しました –

+0

ご清聴ありがとうございます。私は誤解しました。私も答えを更新しました。乾杯 –

関連する問題