Как имитировать «новые» созданные объекты внутри метода в Mockito

У меня есть устаревший код, код которого выглядит следующим образом:

      public String getToken() {

HttpURLConnection urlConnection = (HttpURLConnection)(new URL(endpoint).getConnection();
..
}

Как издеваться над new URL(endpoint).getConnection(). Пока меня не высмеивают urlConnection, Я не могу переходить к дальнейшим утверждениям метода.

1 ответ

Вы не можете издеваться над этим фрагментом кода. Почему?

Допустим, вы издевались над объектом URL, но когда код достигает этой части кода, new URL(endpoint) всегда создается новый объект URL.

Это плохой дизайн, и лучшее, что вы можете сделать, - это вставить объект в конструктор, что сделает код легко тестируемым, поскольку вы можете его имитировать.

Другие вопросы по тегам