Вызов частного статического метода void - PullRequest
0 голосов
/ 04 июня 2019

У меня есть метод private static void, а именно convertToIp в классе EllaDtoConverter, который имеет частный конструктор.Если я пытаюсь создать экземпляр класса, он выдает исключение.Код предоставляется:

public final class EllaDtoConverter {

    private EllaDtoConverter() {
        throw new PrivateConstructorException();
    }

private static void convertToIp( final IrisBo irisBo, EllaRequestDto request ) {

        if( !isNull( irisBo.getDevice() ) ) {
            request.setIp( irisBo.getDevice().getIpAddress() );
        }
    }

    // ..... some code 
}

Я могу создать экземпляры IrisBo и EllaRequestDto и передать их внутри метода.Можно ли вызвать метод convertToIp снаружи из другого класса (даже с использованием отражения)?

Ответы [ 2 ]

0 голосов
/ 04 июня 2019

Как написано ранее @ bracco23, вы должны прочитать статью о тестировании частных методов. Однако, если вы уже решили это сделать (несмотря на все эти негативные аспекты, которые возникают при их тестировании), существует специальная среда под названием PowerMockito . PowerMockito позволяет нам тестировать частные или статические методы.

0 голосов
/ 04 июня 2019

Из тега junit я предполагаю, что вы хотите знать, возможно ли проверить метод.

Я предлагаю вам эту статью , в которой в основном говорится, что вам не следуетсамостоятельное тестирование частных методов (статических или нет) не имеет значения.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...