简单的介绍使用xtream;
使用 xsteam保存数据减少数据依赖
再解决数据依赖的问题上,渡虚提供了一个很好的 工具 xsteam.
主页:http://xstream.codehaus.org/
xsteam可以使JAVA对象和xml文件任意转换。下面是他的具体使用方法:
首先,在你想模拟的数据对象的地方加上下面的代码
XStream xstream = new XStream(new DomDriver());
ProductDO product = new ProductDO();//你想模拟的对象
product.setId(0001);
product.setTitle("test");
FileOutputStream file = new FileOutputStream("D:/mock/poduct.xml");
xs.toXML(product,file);
然后生成的数据文件就是poduct.xml.里面存放了product对象的 数据结构和相应的 值。
然后再你的mock类或方法中 ,通过下面的 方法把数据取出来 ,通过接口返回。
XStream xstream = new XStream(new DomDriver());
ProductDO product = new ProductDO(); FileInputStream file =
new FileInputStream("D:/mock/product.xm;");
xs.fromXML(file, product);
xsteam的使用非常的方面,按照上面的方法 ,你就可以 把外来接口的数据保存到本地,减少脚本测试中的数
据依赖,也大大减少了访问外部服务的时间。
ps:如果转中文有乱码,可以改成如下的方式
写:
XStream xstream = new XStream(new DomDriver());
FileOutputStream fos = new FileOutputStream(xmlPath);
OutputStreamWriter writer = new OutputStreamWriter(fos, Charset.forName("GBK"));
writer.write("<?xml version=\"1.0\" encoding=\"GBK\" ?>\n");
xstream.toXML(object, writer);
读:
XStream xstream = new XStream(new DomDriver());
FileInputStream fis = new FileInputStream(xmlPath);
InputStreamReader reader = new InputStreamReader(fis, Charset.forName("GBK"));
xstream.fromXML(reader, object);
return object;