2014-09-26 73 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