2014-09-26 56 views
-1

我正在处理此测试类,并尝试更改对bean响应的预期响应,因为我已将请求更改为bean请求。将测试XML响应更改为Bean响应Java

private void assertXmlResponse(Document xmlResponse, int Elements, 
      String Message, String Code, String name, 
      String Funds) 
{ 
    Node topLevelElement = xmlResponse.getFirstChild(); 
    NodeList childElements = topLevelElement.getChildNodes(); 

    assertEquals("result", topLevelElement.getNodeName()); 
    assertEquals(Elements, childElements.getLength()); 

    assertEquals("message", childElements.item(0).getNodeName()); 
    assertEquals(Message, childElements.item(0).getTextContent()); 

    assertEquals("code", childElements.item(1).getNodeName()); 
    assertEquals(Code, childElements.item(1).getTextContent()); 

    assertEquals("name", childElements.item(2).getNodeName()); 
    assertEquals(name, childElements.item(2).getTextContent()); 
} 

请有人指点我正确的方向,甚至让我知道是否有可能吗?

谢谢

+0

定义一个具有预期响应的类作为属性 – pd30 2014-09-26 13:24:11

+0

@ pd30谢谢,但我一直在寻找更多的语法,因为我之前没有在beans上工作 – Tim 2014-09-26 13:34:18

回答

1

您即将制作POJO(普通Java对象)。

 public Class A{ 
     private int Elements; 
     private String Message; 
     private String Funds; 
     private String code; 
     private String name; 
     //getters and setters 



     } 

保留此类的参考作为参数在您的方法中。

使用getters访问方法中的值。

+0

谢谢,理解有点困难。我可以制作对象并设置和获取方法。但是,我如何能够把它写在上面,如:assertEquals(“result”,topLevelElement.getNodeName());因为这些从我通过我的测试中获得的东西中挑选出来? assertEquals(Elements,childElements.getLength()); – Tim 2014-09-26 14:18:42

+0

假设x是类A的对象,那么在您的assertEquals(x.getMessage(),childElements.item(0).getTextContent()) – pd30 2014-09-26 14:52:23

+0

childElements来自Node接口,因此在此处引发错误,因为我们没有使用节点。不知道在这一点做什么我已经创建它们作为对象,并在执行assertEquals(x.getMessage(),childElements.item(0).getTextContent()) – Tim 2014-09-28 08:55:39