私はJUnitテストを持っています:
@Autowired
private UserController userController;
@Test
public void getUser() throws Exception {
User user = jUnitDAOHelper.createUser();
Map<String, Object> params = new HashMap<String, Object>();
params.put("email", user.getUserDetail().getEmail());
String result = sendRequest("/user", GET, userController, params);
assertNotNull(result);
System.out.println("result="+result);
}
これは私のコントローラーです(スニペット):
@Controller
@RequestMapping("/user")
public class UserController extends BaseController {
// deleted
}
これは私のsendRequestメソッドです:
public String sendRequest(String url, String method, Object controller, Map<String, Object> params) throws Exception {
request.setRequestURI(url);
request.setParameters(params);
request.setMethod(method);
request.setContentType("application/json");
handlerAdapter.handle(request, response, controller);
return response.getContentAsString();
}
このエラーを投げる:
org.springframework.web.servlet.mvc.multiaction.NoSuchRequestHandlingMethodException: No matching handler method found for servlet request: path '/user', method 'GET', parameters map['email' -> array<String>['test@test.com']]
ハンドラーアダプター:
protected MockHttpServletRequest request;
protected MockHttpServletResponse response;
protected HandlerAdapter handlerAdapter;
@Before
public void setUp() {
request = new MockHttpServletRequest();
response = new MockHttpServletResponse();
handlerAdapter = applicationContext.getBean(HandlerAdapter.class);
}
何がうまくいかないのですか?すべてが正しくマッピングされていると思いますが、これをスローし続けます。