Очень трудно выполнить код модульного тестирования, который написан не для тестирования.Вот почему вы должны внедрять зависимости, а не удерживать их, поэтому вы должны получать объекты, а не создавать их самостоятельно.Если вы предполагаете, что ваш код может быть протестирован, всегда думайте, как это сделать вначале.
В вашем случае немного сложно смоделировать Obj
, но это невозможно, поскольку фактическое создание (вызов конструктора) объектасделано с другим классом (не тем, который тестируется).
В вашем примере вы используете статический метод, может быть, вы можете посмеяться над его поведением с PowerMockito?Пожалуйста, взгляните на этот ответ .
Кроме этого, я просто могу предложить изменить код.Внедрить объект, создающий класс, в качестве зависимости или использовать другие подходы, которые могут включать некоторые архитектурные изменения.