У меня есть метод, который я хотел бы заблокировать, но он имеет много параметров. Как я могу постараться не дразнить все параметры, но все еще заблокировать метод.
Исключая:
//Method to stub
public void myMethod(Bar bar, Foo foo, FooBar fooBar, BarFoo barFoo, .....endless list of parameters..);
Я не совсем понимаю, с какой проблемой вы столкнулись при использовании Mockito. Предполагая, что вы создаете имитацию интерфейса, содержащего ваш метод myMethod ()
, вы можете проверить только параметры интересующего вас метода. Например (предполагая, что интерфейс называется MyInterface
и с использованием JUnit 4):
@Test
public void test() {
MyInterface myInterface = mock(MyInterface.class);
FooBar expectedFooBar = new FooBar();
// other testing stuff
verify(myInterface).myMethod(any(), any(), eq(expectedFooBar), any(), ...);
}
Вам нужно будет выполнить статический импорт методов Mockito, чтобы это работало. Сопоставителю any ()
не важно, какое значение было передано при проверке.
Вы не можете избежать передачи чего-либо для каждого аргумента в вашем методе (даже если это только NULL).
Создайте класс-обертку, который вызывает настоящий метод и заполняет все аргументы, кроме тех, которые вы предоставили (так называемое "делегирование").
И при следующей возможности напишите ошибку в проекте с просьбой перенести параметры в объект config.