繁体   English   中英

如何存根/模拟XMLBeans对象以进行测试?

[英]How to stub/mock XMLBeans object for testing?

我正在使用使用Apache XMLBeans(扩展org.apache.xmlbeans.XmlObject的XML结构元素的接口,扩展org.apache.xmlbeans.impl.values.XmlComplexContentImpl的这些接口的实现)的应用程序

我得到以下功能:

  • 将XML对象与一些数据一起传递给方法
  • 基于此数据,为此XML对象生成子内容
    • 使用XML对象的addFoo()添加元素等

现在,我想对此功能进行测试,但是我不确定什么是使该XML对象进行测试的最佳方法(我希望stub / mock对象保持易于测试的子树状态) 。 一些选项:

  • 我尝试实例化这些FooImpl实现对象,但它们需要引用org.apache.xmlbeans.SchemaType sType
    • 有什么方法可以实例化这些吗?
    • 添加某些内容时,为空/模拟的SchemaType会以NPE结尾
  • 使用所需的几种方法生成存根类可以工作,但最终会产生许多(> 100)种方法
  • 使用Mockito可以正常工作,但是要轻松测试xml树结构状态,我需要使用doAnswer()等

有什么想法吗?

br,Touko

我发现答案很简单:xmlbeans接口具有用于实例化bean的工厂类,例如:

Address.Factory.newInstance()

我知道这不是您要查找的答案,但是无论如何它还是可以的:

不要嘲笑您无法控制的类型

参考文献:

给您的问题:您要测试什么? Apache XML bean是否按预期工作? 还是您正在编写XML工具?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM