Mockito Spy - заглушка перед вызовом конструктора
Я пытаюсь шпионить за объектом, и я хочу заглушить метод, который вызывается конструктором, прежде чем конструктор вызовет его.
Мой класс выглядит так:
public class MyClass {
public MyClass() {
setup();
}
public void setup() {
}
}
Метод настройки не должен вызываться. Ну, как мне шпионить за этим методом (и настроить заглушку, чтобы он ничего не делал)?
Это хорошо работает с насмешкой метод, но я хочу юнит-тестMyClass
и поэтому мне понадобится совсем другой метод.
Причина, по которой нужно заглушить метод настройки, чтобы он ничего не делал:
Я программирую робота Lego (lejos) и помещаю некоторый код в настройку, которая должна работать роботу. Однако, когда я вызываю его вне TinyVM (виртуальная машина, установленная на роботе), происходит сбой java, поскольку виртуальная машина не была правильно инициализирована (поскольку тесты выполняются на моем ПК). Для юнит-тестирования настройка не важна.
Я не могу заглушить вызовы установки классов / методов, так как некоторые из них являются публичными статическими финальными переменными.