У меня есть такая ситуация, что мне нужно проверить, где код рефакторинга невозможен (по организационным причинам: ().
class ClassToTest {
private ComplexObject createComplexObject() throws SomeException{
//create the complex object
}
public ReturnObject methodToTest(RequestObject reqObj) throws SomeOtherException {
ComplexObject complexObj = createComplexObject();
int answer = complexObj.doSomething();
return new ReturnObject(answer);
}
}
Большинство примеров, которые я вижу, связаны с вызовом частных методов и заставляют их возвращать String или int и т. д. Так что здесь требование немного больше:
- И частный метод, и метод для тестирования находятся в одном и том же классе, который необходимо протестировать.
- Необходимо вызвать частный метод, чтобы вернуть его фиктивную реализацию.
- Используйте эту фиктивную реализацию, чтобы вернуть окончательный ответ
Пожалуйста, посоветуйте по этому поводу. Все примеры, которые я вижу, просто издеваются над частным методом, чтобы вернуть String
/int
, тогда как здесь мне нужен сложный объект (который сам издевается), а затем использовать его для возврата окончательного ответа из метода, который находится под тестовое задание.