【发布时间】:2012-06-17 22:49:05
【问题描述】:
我正在尝试 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)
}
.
.
.
}
函数内部的代码将只是函数调用,必须从配置文件中完全读取和复制。
【问题讨论】:
-
代码生成示例?使用任何模板引擎,例如 FreeMarker,并用 Java 代码以及您需要注入的任何动态内容填充它。
-
@DaveNewton- 是的,代码生成示例适合上述原因。
-
对您尝试生成的内容一无所知,因此无法提供更具体的帮助。模板可以是任何东西,包括有效的 Java 源代码。例如,您可以在给定外部数据(例如来自 XML)的情况下构建 Java 方法。除了“使用模板和您的数据构建合法的 Java 代码”之外,您没有提供足够的信息来告诉您更多信息。
-
@DaveNewton- 添加了一个示例。
-
出于空间目的移至回答。只需查看 FreeMarker 文档,了解如何使用它、读取数据、构建上下文和评估模板。无论您选择哪个库,您都将使用基本相同的步骤。
标签: java testing code-generation testng