本文原创,转载请注明出处
在写代码的过程中,只想测试部分代码,调试一小段功能有没有通的情况下,可以用该方法:
以下为在项目中测试一个小功能的案例,在此记录一下,
/**
* <解析查询磁盘空间返回的响应报文>
* <功能详细描述>
* @param respXml
* @return
* @throws Exception
* @see [类、类#方法、类#成员]
*/
private List<StorageSpaceInfo> analysisSpaceRespXml(String respXml)
throws Exception
{
List<StorageSpaceInfo> list = new ArrayList<>();
Element element = XmlTools.createRootElement(IOUtils.toInputStream(respXml, "UTF-8"));
//错误代码
String errorCode = XmlTools.getAttribute(element, "err_code");
//错误信息
String errorMsg = XmlTools.getAttribute(element, "err_msg");
if(!ServiceContants.STR_ZERO.equals(errorCode) || !"success".equals(errorMsg.toLowerCase())){
return list;
}
Node disk = XmlTools.getChildNode(element, "disk");
for(Node vpath : XmlTools.getChildNodes(disk, "vpath")){
StorageSpaceInfo info = new StorageSpaceInfo();
info.setSpaceName(XmlTools.getAttribute(vpath, "name"));
info.setSpaceSize(Long.parseLong(XmlTools.getAttribute(vpath, "size")));
info.setSpaceFree(Long.parseLong(XmlTools.getAttribute(vpath, "free")));
list.add(info);
}
return list;
}
我想测试这段代码的执行情况,只想在本地测试,不用写整个控制类等,
所以写了以下的代码
@Test
public void test(){
//将上面方法中的respXml以字符串的方法拼接在测试中,调用上面方法,既可以进行测试
String str = "<?xml version="1.0"?><resp version="1.0" err_code="0" err_msg="success"> <disk command="stat"> <vpath name="media" size="20029" free="99129"/></disk></resp>";
try
{
analysisSpaceRespXml(str);
}
catch (Exception e)
{
e.printStackTrace();
}
}
此时用右键选中debug As ,然后选中Junit test,既可以进行测试