Junit: Тестируют ли private методы, если да, то как?

Рейтинг: 3Ответов: 2Опубликовано: 05.12.2014

Как тестировать private методы?

Ответы

▲ 6Принят

Обычно так не делается, это считается плохой практикой. Ну то есть если метод приватный, то есть какой-то public, который его вызывает. Вот и тестируйте этот public метод, он покроет и приватный тоже. Если уж есть private методы с какой-то очень сложной, специфичной логикой, то на время тестирования можете делать public get методы, которые вызывают приватный, либо же через reflection.

UPD

JUnit позволяет тестировать protected методы.

▲ 1

Так как обычно набор тестов находится в том же пакете, что и тестируемый класс, то можно изменить видимость метода, убрав модификатор. В google guava, кажется, даже есть маркер-аннотация по этому поводу.