Package cn.baiweigang.qtaf.ift.testcase.autocreate

Source Code of cn.baiweigang.qtaf.ift.testcase.autocreate.CreateJavaFile

package cn.baiweigang.qtaf.ift.testcase.autocreate;

import java.util.Map;
import java.util.TreeMap;

import cn.baiweigang.qtaf.ift.IftConf;
import cn.baiweigang.qtaf.toolkit.util.FreeMakerUtil;
import cn.baiweigang.qtaf.toolkit.util.LogUtil;


/**
* 封装用例集,对集合进行分组格式化等处理,当前是1个excel文件对应1个此类的实例
* @author @<a href='http://weibo.com/bwgang'>bwgang</a>(bwgang@163.com)<br/> 2012-11-12
*
*/
public class CreateJavaFile
   
  private static LogUtil log=LogUtil.getLogger(CreateJavaFile.class);//日志记录
 
  /**
   * 根据用例数据信息创建对应的.java源文件
   * @return boolean 创建成功返回true,失败返回false
   */
  public boolean creatJavaSrcFile(JavaCaseInfo javaInfo) {
    String javaFilePathTmp = javaInfo.getJavaSavePath()+javaInfo.getJavaFileName()+".java";
    FreeMakerUtil creatjava=new FreeMakerUtil();
    if (creatjava.CreateJavaFile(IftConf.TemplatePath, getJavaFileData(javaInfo), javaFilePathTmp)) {
      log.info("创建"+javaInfo.getJavaFileName()+"对应的.java文件成功:"+javaFilePathTmp);
      return true;
    }
    log.error("创建"+javaInfo.getJavaFileName()+"对应的.java文件成功失败:"+javaFilePathTmp);
    return false;
  }

 
  //私有方法
  private Map<String, Object> getJavaFileData(JavaCaseInfo javaInfo){
    Map<String, Object> data = new TreeMap<String, Object>();
    data.put("javaInfo", javaInfo);
    Map<String, String> clsInfo = new TreeMap<>();
    String impotInfo = javaInfo.getCls().getPackage().toString();
    impotInfo = impotInfo.substring(8)+"."+javaInfo.getCls().getSimpleName();
    clsInfo.put("importInfo", impotInfo);
    clsInfo.put("className", javaInfo.getCls().getSimpleName());
    clsInfo.put("method", javaInfo.getMethod());
    data.put("clsInfo", clsInfo);
    return data;
  }
 
}
TOP

Related Classes of cn.baiweigang.qtaf.ift.testcase.autocreate.CreateJavaFile

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.