Программа тестирования покрытия с JaCoCo - PullRequest
0 голосов
/ 28 ноября 2018

Я тестирую короткую программу с использованием JaCoCo, и я почти достиг 100% покрытия, за исключением того, что это единственное утверждение, которое я не могу проверить, какой набор тестов я могу написать, чтобы иметь возможность охватить всю программу?Ниже приведен код.Here is a screenshot of my JaCoCo report

Pt. 2

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Просто добавьте в свой тестовый класс случай, когда вы вызываете ваш main() с аргументами меньше или больше 3:

String [] testInput = new String[2];
testInput[0] = "invalidInput"; // don't worry this wouldn't reach the point to throw ParseException
testInput[1] = "invalidInputAgain";
new IglooScore1().main(testInput); // line of code to test
0 голосов
/ 28 ноября 2018

Я не уверен, что вы должны достичь 100%, если вы действительно не можете (есть какой-то более сложный случай, чем ваш, который практически невозможно исправить), но в этом случае вы должны просто вызвать свой main с меньшими затратамичем 3 аргумента:

IglooScore.main(new String[0]);

Это эквивалентно вызову java -jar blabla.jar IglooScore.main

IglooScore.main(null);

Второе никогда не должно возникать, когда JRE запускает вашу программу, но это может произойти, если main был вызван программно (например, из теста).

Обратите внимание, что ваш случай прост:

if (args.length != 3)

Если он красного цвета, это означает, что вы должны проверить условие:

  • С прохождением теста args соответствие args.length == 3 (покрыто)
  • С прохождением теста args не соответствие args.length == 3 (не покрыто)

Вы также можете иметь этот случай:

if (args == null || args.length != 3)

Это означает, что вы должны:

  • С тестом, проходящим args, являющимсяnull
  • При прохождении теста args не равно нулю и не соответствует args.length == 3
  • При прохождении тестаargs не нуль и не соответствие args.length == 3

В худшем случае может помочь разделить выражение на несколько строк для отображения непокрытой строки, например:

if (args == null ||
    args.length != 3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...