I am testing ControllerAdvice class where i have EncodeUtil is autowired, this is always resolved as Null when I run using JUnit test, no issue when run via spring boot application, what am i missing here?
@ControllerAdvice
public class Base64EncodedResponseBodyAdvice implements ResponseBodyAdvice<Object> {
    @Autowired
    private EncodeUtil encodeUtil;
    @Override
    public boolean supports(MethodParameter returnType, 
                            Class<? extends HttpMessageConverter<?>> converterType) {
        return true;
    }
    @Override
    public Object beforeBodyWrite(Object body,
                                  MethodParameter returnType,
                                  MediaType selectedContentType,
                                  Class<? extends HttpMessageConverter<?>> converterType,
                                  ServerHttpRequest request,
                                  ServerHttpResponse response) {
        if(returnType.getMethod().getName().equalsIgnoreCase("doPNMImage"))
        {
           encodeUtil.encodeBase64(body);
           response.getHeaders().add("ENCODE_TYPE", "Base64");
        }
        else return body;
    }
}
Here is my Junit Class, i have
@ExtendWith(SpringExtension.class)
@WebMvcTest(PNMImageController.class)
@AutoConfigureMockMvc
public class Base64EncodedResponseBodyAdviceTest {
    @Mock
    private EncodeUtil encodeUtil;
    @InjectMocks
    PNMImageController pnmImageController;
    @BeforeEach
    void init(){
      MockitoAnnotations.initMocks(pnmImageController);
      mockMvc = MockMvcBuilders.standaloneSetup(pnmImageController)
            .setControllerAdvice(Base64EncodedResponseBodyAdvice.class)
            .build();
    }
    @Test
    public void getAuthorizeTest() throws Exception {
        ReflectionTestUtils.setField(encodeUtil, "salt", SALT);
        Mockito.when(this.encodeUtil.encodeBase64()).thenReturn(TEST_BASE64_STR);
        mockMvc.perform(post("http://localhost:8080/image/doPNMImage"))
                .andExpect(status().isOk())
                .andExpect(content().string(TEST_BASE64_STR))
                .andExpect(header().string("ENCODE_TYPE", "Base64"));
    }
}
The test fails with Nullpointer exception
Request processing failed; nested exception is java.lang.NullPointerException: Cannot invoke "com.ylm.cnpl.core.util.EncodeUtil.encodeBase64(String)" because "this.encodeUtil" is null
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException: Cannot invoke "com.ylm.cnpl.core.util.encodeBase64(String)" because "this.encodeUtil" is null
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
    
 
     
     
    