Como testar a unidade de um controlador anotado do Spring MVC?

Estou seguindo um tutorial do Spring 2.5 e tentando, ao mesmo tempo, atualizar o código / configuração para o Spring 3.

EmSpring 2.5 Eu tinha o HelloController (para referência)

public class HelloController implements Controller {
    protected final Log logger = LogFactory.getLog(getClass());
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        logger.info("Returning hello view");
        return new ModelAndView("hello.jsp");
    }
}

E um teste JUnit para o HelloController (para referência)

public class HelloControllerTests extends TestCase {
    public void testHandleRequestView() throws Exception{
        HelloController controller = new HelloController();
        ModelAndView modelAndView = controller.handleRequest(null, null);
        assertEquals("hello", modelAndView.getViewName());
    }
}

Mas agora atualizei o controlador paraSpring 3.0, e agora usa anotações (também adicionei ummensage):

@Controller
public class HelloController {
    protected final Log logger = LogFactory.getLog(getClass());
    @RequestMapping("/hello")
    public ModelAndView handleRequest() {
        logger.info("Returning hello view");
        return new ModelAndView("hello", "message", "THIS IS A MESSAGE");
    }
}

Sabendo que estou usando o JUnit 4.9, alguém pode me explicar como testar este último controlador de unidad

questionAnswers(3)

yourAnswerToTheQuestion