Создание экземпляра объекта модульного тестирования статический вызов сторонней библиотеки

#java #unit-testing #mockito

Вопрос:

Есть ли способ управлять статическим вызовом метода getInstance сторонней библиотеки с помощью mockito. Для бывших :

 public static ThirdPartyLibraryFactory createInstance() {
     
        return ThirdPartyLibrary.getInstance(
                param1, param2
        );
}
 

Учитывая, что я не могу использовать powermockito или что-либо, что помогает тестировать статические вызовы
Кроме того, считайте, что эти параметры 1 являются некоторыми учетными данными, и thirdpartylibrary вернет успешный объект, если учетные данные являются подлинными. в противном случае это приведет к ошибке. И я никак не могу получить настоящие учетные данные во время тестирования из-за сложности кода. Я хотел бы каким-то образом перехватить этот вызов и вернуть свой фиктивный объект.

Комментарии:

1. Можете ли вы обернуть этот вызов своим кодом, который не будет использовать статику и делегирует вызов этому коду, чтобы вы могли издеваться над своим кодом с помощью обычных методов mockito?

2. Хм, то же самое мне сказал и мой друг. Спасибо!!