Вы не можете легко.Я могу придумать два способа сделать это, и ни один из них не поддерживается Mockito или jUnit из коробки, насколько мне известно:
1) Манипулирование байтовым кодом с использованием cglib или подобной библиотеки, которая будет умереннотрудно сделать и, вероятно, довольно хрупкий.
2) Альтернативный загрузчик классов.Вы можете создать загрузчик классов, который ищет попытку загрузить класс OtherObject и заменяет его анонимным классом OtherObject, который дает вам насмешливое поведение, которое вы ищете.
Большую часть времени вы должны лечить егокак зависимость, хотя.Если вы хотите проверить открытие файла, вы, вероятно, на самом деле хотите протестировать файл, так что использование конкретного класса, вероятно, хорошо.Если вы хотите проверить поведение метода, в котором открытие файла является частью его логики, вы можете легко переместить это в зависимость, а затем смоделировать его.Фактически, это обычно имеет смысл, потому что то, что вы храните в файле один день, может потребоваться сохранить в базе данных другого или вытащить из облака на третий день, так что логика вокруг того, что вы делаете с файлом изфактический процесс открытия извлечения содержимого в любом случае часто является логическим разделением интересов.