我还在学习测试的方法,我正在尝试让MockMvc测试为我工作.这是一个简单的REST控制器,此时只使用帖子中json的信息进行一些身份验证.我实际上已经实现了代码,所以我知道它正在工作,因为我用正确的输入和我放在一起的错误消息都以json格式返回正确的响应.我的问题是测试使用HttpMessageNotReadableException失败,即使实际代码有效,所以我假设我没有正确设置我的测试.你们给予的任何帮助都会很棒.
这是我的控制器
@Controller
public class RequestPaymentController {
protected final Log logger = LogFactory.getLog(getClass());
private PaymentService paymentService;
private LoginService loginService;
@Autowired
public void setPaymentService(PaymentService paymentService){
this.paymentService = paymentService;
}
@Autowired
public void setLoginService(LoginService loginService){
this.loginService = loginService;
}
@RequestMapping(value = "/requestpayment", method = RequestMethod.POST, headers="Accept=application/json")
@ResponseBody
public ResponseEntity<PaymentResult> handleRequestPayment(@RequestBody PaymentRequest paymentRequest, HttpServletRequest request, HttpServletResponse response, BindingResult result) throws Exception{
ResponseEntity<PaymentResult> responseEntity = null;
new LoginValidator().validate(paymentRequest, result);
boolean valid = loginService.isLoginValid(paymentRequest, result);
if (valid){
responseEntity = setValidResponse(paymentRequest);
}else {
throw new TumsException("exception …Run Code Online (Sandbox Code Playgroud) 如果以前在这里已经回答过,我很抱歉,但我已经搜索过,而且我找不到我需要的东西.我正在创建一个选择框,并使用国会账单的名称填充选项,并使用账单编号填充选项ID.一旦选择了账单,我需要触发一个将id传递给函数的偶数.我无法弄清楚如何做最后一部分.我可以将.click添加到select元素,但是它会获取第一个选项的id,而不是选中的选项.我无法得到.click来处理选项本身.我也尝试在选项元素上使用.focus和.select,但它们也没有用.如何让jquery识别出我选择的选项?有什么建议?
$.each(response.objects, function(){
billNum = response.objects[count].id;
$('#billSelector').append('<option id=\''+billNum + '\'>' +response.objects[count].title + '</option>');
count++;
});//each
$('option').focus(function(){
alert($('option').attr('id'));
});//function
Run Code Online (Sandbox Code Playgroud)