Я посмотрел похожие вопросы на этой доске, но ни один из них не ответил на мой вопрос. Это звучит странно, но можно ли смоделировать вызов конструктора над объектом, который вы издеваетесь.
Пример:
class RealGuy {
....
public void someMethod(Customer customer) {
Customer customer = new Customer(145);
}
}
class MyUnitTest() {
public Customer customerMock = createMock(Customer.class)
public void test1() {
//i can inject the mock object, but it's still calling the constuctor
realGuyobj.someMethod(customerMock);
//the constructor call for constructor makes database connections, and such.
}
}
Как мне ожидать вызова конструктора? Я могу изменить вызов конструктора Customer для использования newInstance, но я не уверен, поможет ли это. Я не контролирую, что делает тело конструктора new Customer(145)
.
Возможно ли это?