Package com.google.common.testing
Class NullPointerTester
java.lang.Object
com.google.common.testing.NullPointerTester
A test utility that verifies that your methods and constructors throw
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)
.
- Since:
- 10.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Visibility of any method or constructor. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionIgnoremethod
in the tests that follow.setDefault
(Class<T> type, T value) Sets a default value that can be used for any parameter of typetype
.void
RunstestConstructor(java.lang.reflect.Constructor<?>)
on every public constructor in classc
.void
testAllPublicInstanceMethods
(Object instance) RunstestMethod(java.lang.Object, java.lang.reflect.Method)
on every public instance method of the class ofinstance
, including those inherited from superclasses of the same package.void
RunstestMethod(java.lang.Object, java.lang.reflect.Method)
on every public static method of classc
, including those "inherited" from superclasses of the same package.void
testConstructor
(Constructor<?> ctor) Verifies thatctor
produces aNullPointerException
orUnsupportedOperationException
whenever any of its non-Nullable
parameters are null.void
testConstructorParameter
(Constructor<?> ctor, int paramIndex) Verifies thatctor
produces aNullPointerException
orUnsupportedOperationException
when the parameter in positionparamIndex
is null.void
testConstructors
(Class<?> c, NullPointerTester.Visibility minimalVisibility) RunstestConstructor(java.lang.reflect.Constructor<?>)
on every constructor in classc
that has at leastminimalVisibility
.void
testInstanceMethods
(Object instance, NullPointerTester.Visibility minimalVisibility) RunstestMethod(java.lang.Object, java.lang.reflect.Method)
on every instance method of the class ofinstance
with at leastminimalVisibility
, including those inherited from superclasses of the same package.void
testMethod
(Object instance, Method method) Verifies thatmethod
produces aNullPointerException
orUnsupportedOperationException
whenever any of its non-Nullable
parameters are null.void
testMethodParameter
(Object instance, Method method, int paramIndex) Verifies thatmethod
produces aNullPointerException
orUnsupportedOperationException
when the parameter in positionparamIndex
is null.void
testStaticMethods
(Class<?> c, NullPointerTester.Visibility minimalVisibility) RunstestMethod(java.lang.Object, java.lang.reflect.Method)
on every static method of classc
that has at leastminimalVisibility
, including those "inherited" from superclasses of the same package.
-
Constructor Details
-
NullPointerTester
public NullPointerTester()
-
-
Method Details
-
setDefault
Sets a default value that can be used for any parameter of typetype
. Returns this object. -
ignore
Ignoremethod
in the tests that follow. Returns this object.- Since:
- 13.0
-
testConstructors
RunstestConstructor(java.lang.reflect.Constructor<?>)
on every constructor in classc
that has at leastminimalVisibility
. -
testAllPublicConstructors
RunstestConstructor(java.lang.reflect.Constructor<?>)
on every public constructor in classc
. -
testStaticMethods
RunstestMethod(java.lang.Object, java.lang.reflect.Method)
on every static method of classc
that has at leastminimalVisibility
, including those "inherited" from superclasses of the same package. -
testAllPublicStaticMethods
RunstestMethod(java.lang.Object, java.lang.reflect.Method)
on every public static method of classc
, including those "inherited" from superclasses of the same package. -
testInstanceMethods
RunstestMethod(java.lang.Object, java.lang.reflect.Method)
on every instance method of the class ofinstance
with at leastminimalVisibility
, including those inherited from superclasses of the same package. -
testAllPublicInstanceMethods
RunstestMethod(java.lang.Object, java.lang.reflect.Method)
on every public instance method of the class ofinstance
, including those inherited from superclasses of the same package. -
testMethod
Verifies thatmethod
produces aNullPointerException
orUnsupportedOperationException
whenever any of its non-Nullable
parameters are null.- Parameters:
instance
- the instance to invokemethod
on, or null ifmethod
is static
-
testConstructor
Verifies thatctor
produces aNullPointerException
orUnsupportedOperationException
whenever any of its non-Nullable
parameters are null. -
testMethodParameter
Verifies thatmethod
produces aNullPointerException
orUnsupportedOperationException
when the parameter in positionparamIndex
is null. If this parameter is markedNullable
, this method does nothing.- Parameters:
instance
- the instance to invokemethod
on, or null ifmethod
is static
-
testConstructorParameter
Verifies thatctor
produces aNullPointerException
orUnsupportedOperationException
when the parameter in positionparamIndex
is null. If this parameter is markedNullable
, this method does nothing.
-