В отчете о покрытии моей кармы отображается местная переменная. это возможно или вопрос о выпуске 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
. теперь его очень сложно покрыть код. в этом случае жасмин советует уменьшить локальную переменную или предложение отчета о покрытии кармы?
мой отчет о покрытии кармы хочет покрыть локальную переменную. это возможно или вопрос о выпуске кармы.
Инструмент покрытия работает правильно, проверяя, что ваши тесты охватывают каждую строку кода. Это определение охвата кода.
С другой стороны:
var that = this;
that.hideLoader = function() { that.isLoading = false};
НЕ являются локальными переменными. Как определено, они являются свойствами вашего контроллера. Осторожно: используйте "use strict"
и не используйте необъявленные свойства, такие как that.isLoading
. Это не очень читаемо, и это плохая практика, хотя язык позволяет это.
Кроме того, при задании вопросов вставьте код, а не изображения кода.
Обновить
Ответ на ваш вопрос - да. Отчеты по охвату кармы по каждой строке кода касаются (зеленые) или нетронутые (красные).