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 enumVisibility of any method or constructor. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionIgnoremethodin the tests that follow.setDefault(Class<T> type, T value) Sets a default value that can be used for any parameter of typetype.voidRunstestConstructor(java.lang.reflect.Constructor<?>)on every public constructor in classc.voidtestAllPublicInstanceMethods(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.voidRunstestMethod(java.lang.Object, java.lang.reflect.Method)on every public static method of classc, including those "inherited" from superclasses of the same package.voidtestConstructor(Constructor<?> ctor) Verifies thatctorproduces aNullPointerExceptionorUnsupportedOperationExceptionwhenever any of its non-Nullableparameters are null.voidtestConstructorParameter(Constructor<?> ctor, int paramIndex) Verifies thatctorproduces aNullPointerExceptionorUnsupportedOperationExceptionwhen the parameter in positionparamIndexis null.voidtestConstructors(Class<?> c, NullPointerTester.Visibility minimalVisibility) RunstestConstructor(java.lang.reflect.Constructor<?>)on every constructor in classcthat has at leastminimalVisibility.voidtestInstanceMethods(Object instance, NullPointerTester.Visibility minimalVisibility) RunstestMethod(java.lang.Object, java.lang.reflect.Method)on every instance method of the class ofinstancewith at leastminimalVisibility, including those inherited from superclasses of the same package.voidtestMethod(Object instance, Method method) Verifies thatmethodproduces aNullPointerExceptionorUnsupportedOperationExceptionwhenever any of its non-Nullableparameters are null.voidtestMethodParameter(Object instance, Method method, int paramIndex) Verifies thatmethodproduces aNullPointerExceptionorUnsupportedOperationExceptionwhen the parameter in positionparamIndexis null.voidtestStaticMethods(Class<?> c, NullPointerTester.Visibility minimalVisibility) RunstestMethod(java.lang.Object, java.lang.reflect.Method)on every static method of classcthat 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
Ignoremethodin the tests that follow. Returns this object.- Since:
- 13.0
-
testConstructors
RunstestConstructor(java.lang.reflect.Constructor<?>)on every constructor in classcthat 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 classcthat 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 ofinstancewith 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 thatmethodproduces aNullPointerExceptionorUnsupportedOperationExceptionwhenever any of its non-Nullableparameters are null.- Parameters:
instance- the instance to invokemethodon, or null ifmethodis static
-
testConstructor
Verifies thatctorproduces aNullPointerExceptionorUnsupportedOperationExceptionwhenever any of its non-Nullableparameters are null. -
testMethodParameter
Verifies thatmethodproduces aNullPointerExceptionorUnsupportedOperationExceptionwhen the parameter in positionparamIndexis null. If this parameter is markedNullable, this method does nothing.- Parameters:
instance- the instance to invokemethodon, or null ifmethodis static
-
testConstructorParameter
Verifies thatctorproduces aNullPointerExceptionorUnsupportedOperationExceptionwhen the parameter in positionparamIndexis null. If this parameter is markedNullable, this method does nothing.
-