@Beta @GwtIncompatible public final class NullPointerTester extends Object
NullPointerException or UnsupportedOperationException whenever null
is passed to a parameter that isn't annotated with Nullable.
The tested methods and constructors are invoked -- each time with one
parameter being null and the rest not null -- and the test fails if no
expected exception is thrown. NullPointerTester uses best effort to
pick non-null default values for many common JDK and Guava types, and also
for interfaces and public classes that have public parameter-less
constructors. When the non-null default value for a particular parameter type
cannot be provided by NullPointerTester, the caller can provide a
custom non-null default value for the parameter type via setDefault(java.lang.Class<T>, T).
| Modifier and Type | Class and Description |
|---|---|
static class |
NullPointerTester.Visibility
Visibility of any method or constructor.
|
| Constructor and Description |
|---|
NullPointerTester() |
| Modifier and Type | Method and Description |
|---|---|
NullPointerTester |
ignore(Constructor<?> constructor)
Ignore
constructor in the tests that follow. |
NullPointerTester |
ignore(Method method)
Ignore
method in the tests that follow. |
<T> NullPointerTester |
setDefault(Class<T> type,
T value)
Sets a default value that can be used for any parameter of type
type. |
void |
testAllPublicConstructors(Class<?> c)
Runs
testConstructor(java.lang.reflect.Constructor<?>) on every public constructor in class c. |
void |
testAllPublicInstanceMethods(Object instance)
Runs
testMethod(java.lang.Object, java.lang.reflect.Method) on every public instance method of the class of
instance, including those inherited from superclasses of the same
package. |
void |
testAllPublicStaticMethods(Class<?> c)
Runs
testMethod(java.lang.Object, java.lang.reflect.Method) on every public static method of class c,
including those "inherited" from superclasses of the same package. |
void |
testConstructor(Constructor<?> ctor)
Verifies that
ctor produces a NullPointerException or
UnsupportedOperationException whenever any of its
non-Nullable parameters are null. |
void |
testConstructorParameter(Constructor<?> ctor,
int paramIndex)
Verifies that
ctor produces a NullPointerException or
UnsupportedOperationException when the parameter in position paramIndex is null. |
void |
testConstructors(Class<?> c,
NullPointerTester.Visibility minimalVisibility)
Runs
testConstructor(java.lang.reflect.Constructor<?>) on every constructor in class c that
has at least minimalVisibility. |
void |
testInstanceMethods(Object instance,
NullPointerTester.Visibility minimalVisibility)
Runs
testMethod(java.lang.Object, java.lang.reflect.Method) on every instance method of the class of
instance with at least minimalVisibility, including those
inherited from superclasses of the same package. |
void |
testMethod(Object instance,
Method method)
Verifies that
method produces a NullPointerException
or UnsupportedOperationException whenever any of its
non-Nullable parameters are null. |
void |
testMethodParameter(Object instance,
Method method,
int paramIndex)
Verifies that
method produces a NullPointerException or
UnsupportedOperationException when the parameter in position paramIndex is null. |
void |
testStaticMethods(Class<?> c,
NullPointerTester.Visibility minimalVisibility)
Runs
testMethod(java.lang.Object, java.lang.reflect.Method) on every static method of class c that has
at least minimalVisibility, including those "inherited" from
superclasses of the same package. |
public <T> NullPointerTester setDefault(Class<T> type, T value)
type. Returns this object.public NullPointerTester ignore(Method method)
method in the tests that follow. Returns this object.public NullPointerTester ignore(Constructor<?> constructor)
constructor in the tests that follow. Returns this object.public void testConstructors(Class<?> c, NullPointerTester.Visibility minimalVisibility)
testConstructor(java.lang.reflect.Constructor<?>) on every constructor in class c that
has at least minimalVisibility.public void testAllPublicConstructors(Class<?> c)
testConstructor(java.lang.reflect.Constructor<?>) on every public constructor in class c.public void testStaticMethods(Class<?> c, NullPointerTester.Visibility minimalVisibility)
testMethod(java.lang.Object, java.lang.reflect.Method) on every static method of class c that has
at least minimalVisibility, including those "inherited" from
superclasses of the same package.public void testAllPublicStaticMethods(Class<?> c)
testMethod(java.lang.Object, java.lang.reflect.Method) on every public static method of class c,
including those "inherited" from superclasses of the same package.public void testInstanceMethods(Object instance, NullPointerTester.Visibility minimalVisibility)
testMethod(java.lang.Object, java.lang.reflect.Method) on every instance method of the class of
instance with at least minimalVisibility, including those
inherited from superclasses of the same package.public void testAllPublicInstanceMethods(Object instance)
testMethod(java.lang.Object, java.lang.reflect.Method) on every public instance method of the class of
instance, including those inherited from superclasses of the same
package.public void testMethod(@Nullable Object instance, Method method)
method produces a NullPointerException
or UnsupportedOperationException whenever any of its
non-Nullable parameters are null.instance - the instance to invoke method on, or null if
method is staticpublic void testConstructor(Constructor<?> ctor)
ctor produces a NullPointerException or
UnsupportedOperationException whenever any of its
non-Nullable parameters are null.public void testMethodParameter(@Nullable Object instance, Method method, int paramIndex)
method produces a NullPointerException or
UnsupportedOperationException when the parameter in position paramIndex is null. If this parameter is marked Nullable, this
method does nothing.instance - the instance to invoke method on, or null if
method is staticpublic void testConstructorParameter(Constructor<?> ctor, int paramIndex)
ctor produces a NullPointerException or
UnsupportedOperationException when the parameter in position paramIndex is null. If this parameter is marked Nullable, this
method does nothing.Copyright © 2010–2017. All rights reserved.