I have a method i'd like to stub but it has a lot of parameters. How can i avoid mocking all parameters but still stub the method.
Ex:
//Method to stub
public void myMethod(Bar bar, Foo foo, FooBar fooBar, BarFoo barFoo, .....endless list of parameters..);
Create a wrapper class which calls the real method and fills in all the arguments but the ones you supply (a.k.a "delegation").
And at the next opportunity, file a bug against the project asking to move the parameters to a config object.
use mockito.any
if myobj mymethod accepts string, string, bar for instance
to stub a call
to verify SteveD gave the answer already
I don't quite follow what problem you're having using Mockito. Assuming you create a mock of the interface that contains your
myMethod()
method, you can then verify only the parameters to the method that you are interested in. For example (assuming the interface is calledMyInterface
and using JUnit 4):You'll need to do a static import on the Mockito methods for this to work. The
any()
matcher doesn't care what value has been passed when verifying.You can't avoid passing something for every argument in your method (even if it's only NULL).