JUNIT тестирует пустые методы

У меня есть класс Java, полный методов void, и я хочу провести некоторый модульный тест, чтобы получить максимальное покрытие кода.

Например у меня есть этот метод:

protected static void checkifValidElements(int arg1,  int arg2) {
    method1(arg1);
    method2(arg1);
    method3(arg1, arg2);
    method4(arg1, arg2);
    method5(arg1);
    method6(arg2);
    method7();
}

Это плохо названо по причине, потому что я перевел код для лучшего понимания. Каждый метод проверяет, являются ли аргументы верными и хорошо ли они написаны.

Пример :

private static void method1(arg1) {
    if (arg1.indexOf("$") == -1) {

        //Add an error message 
        ErrorFile.errorMessages.add("There is a dollar sign in the specified parameter");
    }
}

Мой модульный тест хорошо покрывает небольшие методы, потому что я прошу их проверить, содержит ли ErrorFile сообщение об ошибке, но я не вижу, как я могу проверить свой метод checkIfValidElements, он ничего не возвращает или ничего не меняет. Когда я запускаю покрытие кода в Maven, оно говорит мне, что до этого модульный тест покрывает эту часть моего класса.

Единственный способ, который я вижу, это изменить этот метод, чтобы он возвращал значение типа int или bollean, например так:

protected static int checkifValidElements(int arg1,  int arg2) {
    method1(arg1);
    method2(arg1);
    method3(arg1, arg2);
    method4(arg1, arg2);
    method5(arg1);
    method6(arg2);
    method7();
    return 0;
}

С помощью этого метода я могу сделать утверждение равным, но мне кажется, что это бесполезно. Проблема в том, что у меня есть пара классов, которые спроектированы таким образом, и это снижает мой охват модульным тестированием на%.

Ответы на вопрос(7)

Ваш ответ на вопрос