我正在尝试以下内容,由Cedric Beust在其他一些帖子中提出。
您可以自己做这个预测试任务:实现代码生成器 以XML格式获取信息,获取相应的Java 源文件并生成包含所有注释的TestNG源文件 放在正确的位置。然后在该文件上运行TestNG。
我对代码生成毫无头绪。有人能引导我朝正确的方向发展吗?一些简单的例子会很棒。
更新:这是我想要生成的模板。
public class <tobeReadFromConfigFile>
{
@Test(groups="to be read from config file")
public void <tobereadfromconfigfile>{
//to be read from config file(Name of function to call)
//to be read from config file(Name of function to call)
//to be read from config file(Name of function to call)
}
.
.
.
}
函数内部的代码只是函数调用,必须从配置文件中读取和复制。
答案 0 :(得分:3)
FreeMarker模板看起来像这样:
public class ${className} {
@Test(groups="${testGroups}")
public void ${testMethodName}() {
<#list methods as m>
${m}
</#list>
}
}
它将从一个上下文填充,本质上是一个带有className
,testGroups
等条目的哈希映射,可以从XML文件中读取。 methods
将是Collection
(如列表),也可以从XML文件中读取。
当然还有许多其他的模板库;这只是一个例子。
答案 1 :(得分:0)
我编写了一个使用freemarker模板的eclipse插件,并提供了来自org.eclipse.jdt.core的命名java类的上下文作为ICompilationUnit。您可以在https://github.com/karajdaar/templator
查看