设为首页 加入收藏

TOP

基于模板的简易代码生成器Python源码(一)
2014-11-23 19:34:00 】 浏览:559
Tags:基于 模板 简易 代码 成器 Python 源码

基于模板的简易代码生成器Python源码,需要写的单元测试太多,框架又是类似的,但类名和变量名却各不相同。索性花几分钟用Python脚本写个简易代码生成器,顺便记录于此,得空优化一下,以备后用。


代码


import os
import datetime


tplFilePath = 'E://template.java'
path = 'E://'


testObjList = ['Deposit',\
'Config',\
'FundsFilter',\
'MobileOpenAuth',\
'MobilePartnerRiskLevel',\
'MobilePhoneChargeOrder',\
'MobileSmspayValicode',\
'MobileSystemParam',\
'MobileVd',\
'Order',\
'OriginalOrder',\
'Package',\
'Plantform',\
'Seq',\
'Service',\
'TipsDelivery',\
'Trustlogin',\
'UpdateConfig',\
'UpdateHint',\
'UserAccount',\
'UserDao',\
'UserStatus'\
]


for testObj in testObjList:


testObjVarName = testObj[0].lower() + testObj[1:]


filename = 'Ibatis' + testObj +'DAOTester.java'
author = 'chenxin'


now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')


tplFile = open(tplFilePath)
gFile = open(path+filename ,"w")


fileList = tplFile.readlines()


for fileLine in fileList:
line = fileLine.replace('${author}',author)\
.replace('${now}',now)\
.replace('${testObject}',testObj)\
.replace('${testObjVarName}',testObjVarName)
print line
gFile.writelines(line)


tplFile.close()
gFile.close()


模板


/**
* created since ${now}
*/
package com.alipay.mspcore.common.dal.ibatis;


import java.util.Date;


import junit.framework.Assert;


import com.alipay.mspcore.common.dal.daointerface.${testObject}DAO;
import com.alipay.mspcore.common.dal.dataobject.${testObject};
import com.alipay.sofa.runtime.test.AnnotatedAutowireSofaTestCase;
import com.iwallet.biz.common.util.money.Money;


/**
* @author ${author}
* @version $Id: Ibatis${testObject}DAOTester.java, v 0.1 ${now} ${author} Exp $
*/
public class Ibatis${testObject}DAOTester extends AnnotatedAutowireSofaTestCase {


@Override
public String[] getConfigurationLocations() {
return new String[] { "META-INF/spring/common-dal-db.xml",
"META-INF/spring/mobilespcore-common-dal-dao.xml", "META-INF/spring/common-dal.xml" };
}


@Override
public String[] getResourceFilterNames() {
return new String[] { "META-INF/spring/common-dal-db.xml" };
}


@Override
public String[] getWebServiceConfigurationLocations() {
return new String[] {};
}


private ${testObject}DAO get${testObject}DAO() {
${testObject}DAO dao = (${testObject}DAO) this.getBean("${testObjVarName}DAO", ${testObject}DAO.class, null);
return dao;
}


public void test${testObject}DAO() {
${testObject}DAO configDAO = get${testObject}DAO();
Assert.assertNotNull(configDAO);
}


public void test() {
${testObject}DO ${testObjVarName}DO = new ${testObject}DO();
${testObjVarName}DO.setGmtCreate(new Date());
${testObjVarName}DO.setGmtModified(new Date());
${testObjVarName}DO.setId(10000);


${testObject}DAO ${testObjVarName}DAO = get${testObject}DAO();
long result = ${testObjVarName}DAO.insert(${testObjVarName}DO);
Assert.assertTrue(result > 0);
}
}


效果


/**
* created since 2011-12-30 14:31:38
*/
package com.alipay.mspcore.common.dal.ibatis;


import java.util.Date;


import junit.framework.Assert;


import com.alipay.mspcore.common.dal.daointerfa

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇OpenCV2.0.0在DM365上的移植 下一篇Matlab调用cpp+第三方库

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目