Жасмин советует уменьшить локальную переменную или отчет о покрытии кармы?

Мой отчет о покрытии Карма показывает, чтобы покрыть локальную переменную. это возможно или его karma-coverage сообщить о проблеме.

Пожалуйста, взгляните на код углового контроллера.

'use strict';

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

            // Controller Local Variables.
            var that = this;

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

        }
]);

Мой вопрос: возможно ли охватить локальные переменные и условия функциональных параметров. например ниже.

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

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

В приведенном выше примере я объявил атрибут id объекта пользователя для локального id переменная. сейчас очень сложно охватить код. в этом случае жасмин посоветует уменьшить локальную переменную или предложить свой отчет по охвату кармы?

1 ответ

мой отчет о покрытии кармы хочет охватить локальную переменную. это возможно, или это проблема с отчетом о покрытии кармы.

Инструмент покрытия работает правильно, проверяя, что ваши тесты охватывают каждую строку кода. Это определение покрытия кода.

С другой стороны:

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

НЕ являются локальными переменными. Как определено, они являются свойствами вашего контроллера. Слово предостережения: пожалуйста, используйте "use strict" и не используйте необъявленные свойства, такие как that.isLoading, Это не очень читабельно, и это плохая практика, хотя язык допускает это.

Кроме того, при задании вопросов, пожалуйста, вставьте код, а не изображения кода.

Обновить

Ответ на ваш вопрос - да. Отчеты о покрытии кармы по каждой строке кода касаются (зеленый) или нетронуты (красный).

Другие вопросы по тегам