|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.mockito.Matchers
public class Matchers
Allow flexible verification or stubbing. See also AdditionalMatchers.
Mockito extends Matchers so to get access to all matchers just import Mockito class statically.
//stubbing using anyInt() argument matcher
when(mockedList.get(anyInt())).thenReturn("element");
//following prints "element"
System.out.println(mockedList.get(999));
//you can also verify using argument matcher
verify(mockedList).get(anyInt());
Scroll down to see all methods - full list of matchers.
Warning:
If you are using argument matchers, all arguments have to be provided by matchers.
E.g: (example shows verification but the same applies to stubbing):
verify(mock).someMethod(anyInt(), anyString(), eq("third argument"));
//above is correct - eq() is also an argument matcher
verify(mock).someMethod(anyInt(), anyString(), "third argument");
//above is incorrect - exception will be thrown because third argument is given without argument matcher.
argThat(org.hamcrest.Matcher) method and pass an instance of hamcrest Matcher.
You can use ArgumentMatcher which is an hamcrest matcher with predefined describeTo() method.
In case of failure ArgumentMatcher generates description based on decamelized class name - to promote meaningful class names.
Example:
class IsListOfTwoElements extends ArgumentMatcher<List> {
public boolean matches(Object list) {
return ((List) list).size() == 2;
}
}
List mock = mock(List.class);
when(mock.addAll(argThat(new IsListOfTwoElements()))).thenReturn(true);
mock.addAll(Arrays.asList("one", "two"));
verify(mock).addAll(argThat(new IsListOfTwoElements()));
To keep it readable you may want to extract method, e.g:
verify(mock).addAll(argThat(new IsListOfTwoElements())); //becomes verify(mock).addAll(listOfTwoElements());Custom argument matchers can make the test less readable. Sometimes it's better to implement equals() for arguments that are passed to mocks (Mockito naturally uses equals() for argument matching). This can make the test cleaner.
| Constructor Summary | |
|---|---|
Matchers()
|
|
| Method Summary | ||
|---|---|---|
static
|
any(java.lang.Class<T> clazz)
any object of specified class. |
|
static boolean |
anyBoolean()
any boolean, Boolean or null. |
|
static byte |
anyByte()
any byte, Byte or null |
|
static char |
anyChar()
any char, Character or null. |
|
static java.util.Collection |
anyCollection()
any Collection or null. |
|
static double |
anyDouble()
any double, Double or null. |
|
static float |
anyFloat()
any float, Float or null. |
|
static int |
anyInt()
any int, Integer or null. |
|
static java.util.List |
anyList()
any List or null. |
|
static long |
anyLong()
any long, Long or null. |
|
static java.util.Map |
anyMap()
any Map or null. |
|
static
|
anyObject()
any Object or null. |
|
static short |
anyShort()
any short, Short or null. |
|
static java.lang.String |
anyString()
any String or null. |
|
static
|
argThat(org.hamcrest.Matcher<T> matcher)
Allows creating custom argument matchers. |
|
static boolean |
booleanThat(org.hamcrest.Matcher<java.lang.Boolean> matcher)
Allows creating custom argument matchers. |
|
static byte |
byteThat(org.hamcrest.Matcher<java.lang.Byte> matcher)
Allows creating custom argument matchers. |
|
static char |
charThat(org.hamcrest.Matcher<java.lang.Character> matcher)
Allows creating custom argument matchers. |
|
static java.lang.String |
contains(java.lang.String substring)
String argument that contains the given substring. |
|
static double |
doubleThat(org.hamcrest.Matcher<java.lang.Double> matcher)
Allows creating custom argument matchers. |
|
static java.lang.String |
endsWith(java.lang.String suffix)
String argument that ends with the given suffix. |
|
static boolean |
eq(boolean value)
boolean argument that is equal to the given value. |
|
static byte |
eq(byte value)
byte argument that is equal to the given value. |
|
static char |
eq(char value)
char argument that is equal to the given value. |
|
static double |
eq(double value)
double argument that is equal to the given value. |
|
static float |
eq(float value)
float argument that is equal to the given value. |
|
static int |
eq(int value)
int argument that is equal to the given value. |
|
static long |
eq(long value)
long argument that is equal to the given value. |
|
static short |
eq(short value)
short argument that is equal to the given value. |
|
static
|
eq(T value)
Object argument that is equal to the given value. |
|
static float |
floatThat(org.hamcrest.Matcher<java.lang.Float> matcher)
Allows creating custom argument matchers. |
|
static int |
intThat(org.hamcrest.Matcher<java.lang.Integer> matcher)
Allows creating custom argument matchers. |
|
static
|
isA(java.lang.Class<T> clazz)
Object argument that implements the given class. |
|
static java.lang.Object |
isNotNull()
not null argument. |
|
static java.lang.Object |
isNull()
null argument. |
|
static long |
longThat(org.hamcrest.Matcher<java.lang.Long> matcher)
Allows creating custom argument matchers. |
|
static java.lang.String |
matches(java.lang.String regex)
String argument that matches the given regular expression. |
|
static java.lang.Object |
notNull()
not null argument. |
|
static
|
refEq(T value)
Object argument that is reflection-equal to the given value. |
|
static
|
same(T value)
Object argument that is the same as the given value. |
|
static short |
shortThat(org.hamcrest.Matcher<java.lang.Short> matcher)
Allows creating custom argument matchers. |
|
static java.lang.String |
startsWith(java.lang.String prefix)
String argument that starts with the given prefix. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Matchers()
| Method Detail |
|---|
public static boolean anyBoolean()
See examples in javadoc for Matchers class
false.public static byte anyByte()
See examples in javadoc for Matchers class
0.public static char anyChar()
See examples in javadoc for Matchers class
0.public static int anyInt()
See examples in javadoc for Matchers class
0.public static long anyLong()
See examples in javadoc for Matchers class
0.public static float anyFloat()
See examples in javadoc for Matchers class
0.public static double anyDouble()
See examples in javadoc for Matchers class
0.public static short anyShort()
See examples in javadoc for Matchers class
0.public static <T> T anyObject()
See examples in javadoc for Matchers class
null.public static <T> T any(java.lang.Class<T> clazz)
Alias to anyObject()
See examples in javadoc for Matchers class
null.public static java.lang.String anyString()
See examples in javadoc for Matchers class
public static java.util.List anyList()
See examples in javadoc for Matchers class
public static java.util.Map anyMap()
See examples in javadoc for Matchers class
public static java.util.Collection anyCollection()
See examples in javadoc for Matchers class
public static <T> T isA(java.lang.Class<T> clazz)
See examples in javadoc for Matchers class
T - the accepted type.clazz - the class of the accepted type.
null.public static boolean eq(boolean value)
See examples in javadoc for Matchers class
value - the given value.
0.public static byte eq(byte value)
See examples in javadoc for Matchers class
value - the given value.
0.public static char eq(char value)
See examples in javadoc for Matchers class
value - the given value.
0.public static double eq(double value)
See examples in javadoc for Matchers class
value - the given value.
0.public static float eq(float value)
See examples in javadoc for Matchers class
value - the given value.
0.public static int eq(int value)
See examples in javadoc for Matchers class
value - the given value.
0.public static long eq(long value)
See examples in javadoc for Matchers class
value - the given value.
0.public static short eq(short value)
See examples in javadoc for Matchers class
value - the given value.
0.public static <T> T eq(T value)
See examples in javadoc for Matchers class
value - the given value.
null.public static <T> T refEq(T value)
This matcher can be used when equals() is not implemented on compared objects. Matcher uses java reflection API to compare fields of wanted and actual object.
Works similarly to EqualsBuilder.reflectionEquals(this, other) from apache commons library.
See examples in javadoc for Matchers class
value - the given value.
null.public static <T> T same(T value)
See examples in javadoc for Matchers class
T - the type of the object, it is passed through to prevent casts.value - the given value.
null.public static java.lang.Object isNull()
See examples in javadoc for Matchers class
null.public static java.lang.Object notNull()
alias to isNotNull()
See examples in javadoc for Matchers class
null.public static java.lang.Object isNotNull()
public static java.lang.String contains(java.lang.String substring)
See examples in javadoc for Matchers class
substring - the substring.
public static java.lang.String matches(java.lang.String regex)
See examples in javadoc for Matchers class
regex - the regular expression.
public static java.lang.String endsWith(java.lang.String suffix)
See examples in javadoc for Matchers class
suffix - the suffix.
public static java.lang.String startsWith(java.lang.String prefix)
See examples in javadoc for Matchers class
prefix - the prefix.
public static <T> T argThat(org.hamcrest.Matcher<T> matcher)
See examples in javadoc for ArgumentMatcher class
matcher - decides whether argument matches
null.public static char charThat(org.hamcrest.Matcher<java.lang.Character> matcher)
See examples in javadoc for Matchers class
matcher - decides whether argument matches
0.public static boolean booleanThat(org.hamcrest.Matcher<java.lang.Boolean> matcher)
See examples in javadoc for Matchers class
matcher - decides whether argument matches
false.public static byte byteThat(org.hamcrest.Matcher<java.lang.Byte> matcher)
See examples in javadoc for Matchers class
matcher - decides whether argument matches
0.public static short shortThat(org.hamcrest.Matcher<java.lang.Short> matcher)
See examples in javadoc for Matchers class
matcher - decides whether argument matches
0.public static int intThat(org.hamcrest.Matcher<java.lang.Integer> matcher)
See examples in javadoc for Matchers class
matcher - decides whether argument matches
0.public static long longThat(org.hamcrest.Matcher<java.lang.Long> matcher)
See examples in javadoc for Matchers class
matcher - decides whether argument matches
0.public static float floatThat(org.hamcrest.Matcher<java.lang.Float> matcher)
See examples in javadoc for Matchers class
matcher - decides whether argument matches
0.public static double doubleThat(org.hamcrest.Matcher<java.lang.Double> matcher)
See examples in javadoc for Matchers class
matcher - decides whether argument matches
0.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||