Пытается использовать EasyMock для проверки, вызван ли защищенный метод, не уверен, что это лучший способ сделать это ... но с учетом ниже, как я могу сказать, что didIgetCalled() на самом деле был вызываемый при вызове callMe()?EasyMock и тестирование Защищенные методы
public Class testMe(){
public int callMe(){
if(true){
didIgetCalled();
}
return 1;
}
protected int didIgetCalled(){
return 2;
}
}
Я считаю, что вы не можете сделать это, вы можете только проверить, были ли назвать публичные методы. При проведении модульного тестирования попробуйте подумать об этом немного больше с точки зрения тестирования «черного ящика», не беспокойтесь о том, что происходит внутри, просто беспокоитесь о входах и выходах и взаимодействиях с другими объектами. – ggreiner
Хорошо ... Кинда знал это, но задавался вопросом, есть ли способ проверить, вызван ли какой-то метод или нет из родительского метода, было бы неплохо иметь. – Phoenix
Да, обычно достаточно не проверять, какие именно методы были вызваны, а скорее, только если состояние объекта после вызова - это то, что вы ожидаете от него. Таким образом, в вашем примере, если вы проверите возвращаемое значение callMe(), этот метод, который был внутренне вовлечен, не имеет отношения к внешней стороне. – centic