Нет юнитов написаны в приложении. Но в другом модуле мы начали писать Junits с помощью Jmockit. Поэтому любое ядро Java или Jmockit будет высоко оценено.Junit: вызов частного метода без примера
У меня есть класс инициализации приложения, который является одиночным, он инициализирует приложение, вызывая базу данных [data load], файл свойств и т. Д. Его создание объекта сложное.
Я пишу новый метод для инициализации класса [имя метода addMoreInitilization].
Я хочу написать Junit для сценария выше. Есть ли способ написать Junit для метода addMoreInitilization, не вызывая сложную логику создания объекта, потому что он имеет много зависимостей и издевается над ними, и это невозможно, а также не хочет ставить метод?
Псевдо Java-код для класса ApplicationStartUp ниже
Class ApplicationStartUp {
private ApplicationStartUp applicationStartUp;
// assume single ton implemented
private ApplicationStartUp() {
// complex object creation
addMoreInitilization();
}
public static getInstance() {
}
// new method
private addMoreInitilization() {
// my logic needs to be tested using junit
}
}
Вы не можете переопределить частные методы; это не имеет большого смысла. – GhostCat
Вы правы. Не видел этого. – SebastianK
Первое, что я пробовал, - это расширить класс ApplicationStartUp, но нельзя вызвать частный метод суперкласса. Также пытались использовать другие вещи, ссылки a. Отражение, но нужно иналиализовать объект, и это сложно, поэтому не стоит усилий. б. Класс декапсуляции от JMockit, но он имеет проблему как отражение. – Mahesh