Строка покрытия показывает, сколько операторов вы взяли (оператор, как правило, представляет собой строку кода, не включая комментарии, условия и т. Д.).Покрытие ветвлений проверяет, приняли ли вы ветвь истина и ложь для каждого условия (если, в то время, для).У вас будет в два раза больше веток, чем у условных.
Почему вас это волнует?Рассмотрим пример:
public int getNameLength(boolean isCoolUser) {
User user = null;
if (isCoolUser) {
user = new John();
}
return user.getName().length();
}
Если вы вызовете этот метод с isCoolUser
, установленным на true
, вы получите 100% покрытие заявления.Звучит хорошо?Нет, при вызове false
будет нулевой указатель.Тем не менее, в первом случае у вас есть 50% охват ветвления, поэтому вы можете увидеть, что чего-то не хватает в вашем тестировании (и часто в вашем коде).