将测试 XML 响应更改为 Bean 响应 Java

Posted

技术标签:

【中文标题】将测试 XML 响应更改为 Bean 响应 Java【英文标题】:Changing a test XML response into a Bean response Java 【发布时间】:2014-09-26 13:10:48 【问题描述】:

我正在处理这个测试类并尝试将预期的响应更改为 bean 响应,因为我已将请求更改为 bean 请求。

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());
 

请有人指出正确的方向,或者让我知道是否可行?

谢谢

【问题讨论】:

定义一个具有预期响应作为属性的类 @pd30 谢谢,但我一直在寻找更具体的语法,因为我之前没有使用过 bean 【参考方案1】:

你即将制作 POJO(Plain Old Java Objects)。

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



       

将此类的引用作为参数保留在您的方法中。

使用 getter 访问方法中的值。

【讨论】:

谢谢,理解有点困难。我可以制作对象并设置和获取方法。但是我怎么能把它写在上面,例如:assertEquals("result", topLevelElement.getNodeName());因为这些是从我通过测试中挑选出来的? assertEquals(Elements, childElements.getLength()); 假设 x 是 A 类的对象,那么在你的 assertEquals(x.getMessage(),childElements.item(0).getTextContent()) 中 childElements 来自 Node 接口,因此此时会抛出错误,因为我们没有使用 Nodes。不知道此时该做什么我已将它们创建为对象并在执行 assertEquals(x.getMessage(),childElements.item(0).getTextContent()) 之前设置它们 所以从 Node 接口获取元素并将它们视为实际响应,而您创建并设置所有属性的对象是预期的响应。就是这样

以上是关于将测试 XML 响应更改为 Bean 响应 Java的主要内容,如果未能解决你的问题,请参考以下文章

如何将xml响应更改为json?

将 Web 表单中的 XML 响应更改为 CSV 文件

使用 JWT 进行护照身份验证:如何将护照的默认未经授权响应更改为我的自定义响应?

Flutter 响应式设计:如果屏幕更大,动态将 Column 更改为 Row

recyclerView 中的图像不响应使用滑动占位符将主题更改为暗模式

Volley StringRequest 响应更改撇号的值('更改为â)