Оператор переключения покрытия кода JUNIT с филиалом по умолчаниюJAVA

Программисты JAVA общаются здесь
Anonymous
Оператор переключения покрытия кода JUNIT с филиалом по умолчанию

Сообщение Anonymous »

У меня есть метод UTIL для обработки текста. Способ обработки определяется режимом enum . При написании модульного теста, чтобы охватить этот метод, мне пришлось добавить элемент Dummy Enum , чтобы включить в тестирование по умолчанию Часть оператора Switch . Часть по умолчанию - моя проверка для случая, если Enum расширена новым элементом, и этот новый элемент не добавлен в оператор Switch Значение Обработка обработки будет невозможно для этого нового элемента. Если я удаляю фиктивное элемент и попробую с null , то я получаю NPE и Java даже не вводите оператор Switch - что является нормальным поведением, когда вы используете null для Switch оператор. Код> оператор в блоке Тест? >

Код: Выделить всё

abstract class LineBreaker {

public enum Mode {
LAST_SPACES,
LAST_CHARS,
DUMMY
}

public static String process(
final String text,
final LineBreaker.Mode mode,
final int amount
) {
switch (mode) {
case LAST_SPACES : {
// blah blah create `processingResult`
return processingResult;
}
case LAST_CHARS : {
// blah blah create `processingResult`
return processingResult;
}
default :
throw new IllegalStateException(
"Processor for " +
LineBreaker.class.getSimpleName() + "." +
LineBreaker.Mode.class.getSimpleName() + "." +
mode.name() +
" not implemented"
);
}
}

}
модульный тест

Код: Выделить всё

@Test
void testLineBreakerException() {
assertThrows(
IllegalStateException.class,
() -> LineBreaker.process( "Dog", LineBreaker.Mode.DUMMY, 10 ),
"Expected " + IllegalStateException.class.getSimpleName()
);
}

модульный тест без дополнительного фиктивного enum element

покрытие кода без дополнительного фиктивного перечисления element
p>

модульный тест с дополнительным пустого enum element < /strong> < /p>

Code Copation без дополнительного фиктивного enum element < /p>


Подробнее здесь: https://stackoverflow.com/questions/783 ... ult-branch

Вернуться в «JAVA»