Java – specifies the specific enumeration passed to the method in the mockito doreturn method
•
Java
I have a JUnit test. I have an object simulated in a class Let's call the mocker class with @ mock of mymanager named mocker
Example class:
public class Mocker { private MyManager myManager; public void myMethod() { String x = "test"; final String result1 = this.myManager.execute(dummyEnum.ENUM_A,x); final String result2 = this.myManager.execute(dummyEnum.ENUM_B,x); if(result1 == true) { //Do something } if(result2 == true) { //Do something else } } public enum dummyEnum { ENUM_A,ENUM_B } }
My current JUnit test uses the following: do return (null) when(mocker). execute(any(dummyEnum.class),anyObject());
However, for result1 and amp; Will return null Result 2 How to specify when using enum_ When a executes (), it returns a string of hello and enum_ B's execute() returns a Goodyear string
I've seen answer here, but I don't want to just say any instances of this class. I want to specify an enumeration from this class
Solution
Use the EQ () method of the matchers class (for equals)
Mockito.doReturn("Hello").when(mock).execute(Matchers.eq(dummyEnum.ENUM_A),anyObject()); Mockito.doReturn("Goodbye").when(mock).execute(Matchers.eq(dummyEnum.ENUM_B),anyObject());
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码