Я пытаюсь улучшить свои модульные тесты, проверяя мой текущий процент покрытия кода. Я использую gcov и lcov для создания HTML-отчета о результатах покрытия. Однако у меня возникают проблемы с пониманием некоторых выводов. Я знаю что +
указывает, что ветка была взята и -
что это не было принято.
131 : 8 : QString toString() const
132 : : {
133 [ + - ][ + - ]: 8 : return ((negative && !isZero()) ? "-" : "") + QString::number(sec) + "." + QString::number(nano).rightJustified(9, '0');
[ + - ][ + + ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
134 : : }
переменная negative
имеет тип bool как возвращаемое значение метода isZero
, Таким образом, я ожидал бы четыре ветви здесь, но я не вижу, как выходные данные соответствуют этому ожиданию. Так как же интерпретировать вывод? Всплывающие подсказки при наведении курсора на знаки +/- говорят мне, что ветви 3, 6, 9, 11, 12, 14, 17, 20, 23 и 26 были взяты, а ветви 4, 7, 10, 15, 18, 21, 24 и 27 никогда не были взяты.
Задача ещё не решена.
Других решений пока нет …