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