How do I mock an autowired @Value field in Spring with Mockito?

You can use the magic of Spring’s ReflectionTestUtils.setField in order to avoid making any modifications whatsoever to your code.

The comment from MichaƂ Stochmal provides an example:

use ReflectionTestUtils.setField(bean, "fieldName", "value"); before invoking your bean method during test.

Check out this tutorial for even more information, although you probably won’t need it since the method is very easy to use

UPDATE

Since the introduction of Spring 4.2.RC1 it is now possible to set a static field without having to supply an instance of the class. See this part of the documentation and this commit.

Leave a Comment