テストは次のようになります。
@Test
public void testSave() throws Exception {
request.setContent("{\"id\":\"1\",\"name\":\"nitin\"}".getBytes());
request.setContentType("application/json");
// request.setMethod("post");
ActionProxy proxy = getActionProxy("/save");
actions.MyAction myAct = (actions.MyAction) proxy.getAction();
String result = proxy.execute();
System.out.println("test id : " + myAct.getId());
System.out.println("test name : " + myAct.getName());
assertEquals("success", result);
System.out.println(response.getContentAsString());
}
JSON を struts2 アクションに投稿しようとしていますが、次のようになります。
test id : null
test name : null
ただし、JSP を使用して同じことを試してみると、次のようになります。
test.jsp
<script>
var data = '{"id":"1","name":"nitin"}';
$.ajax({
url: "http://localhost:8084/Struts2Junit4/save",
data: data, //returns all cells' data
dataType: 'json',
contentType: 'application/json',
type: 'POST',
success: function(res) {
console.log(res);
}
});
</script>
両方のパラメーターを取得します。
テストケースを書く際に何かが欠けていると思います。助けてください。