今天我面临着写一些自由标记表达的前景。虽然整体难度不高,但其中一些将包含相当多的内置调用(即将格式化的字符串解析为数字,增加它并再次格式化)。
这让我思考 - 我怎样才能测试开发目的只是为了减少花费的时间?我知道有一些IDE工具可以帮助解决语法问题 - 然而,如何测试我在示例字符串上编写的功能?有什么能让我解析${" b lah"?trim}
并检查输出是否符合我的预期?运行我的应用程序显然是一种可能性,但在我的情况下,需要花费太长时间才能到达使用freemarker的部分。
答案 0 :(得分:0)
我会使用一个简单的JUnit测试来测试它。
示例:
public class FreemarkerSandbox {
@Test
public void testFreemarker() throws TemplateException, IOException {
Configuration cfg = new Configuration();
Template template = cfg.getTemplate("trim.ftl", CharEncoding.UTF_8);
HashMap<String, Object> model = new HashMap<String, Object>();
Writer out = new StringWriter();
template.process(model, out);
assertEquals("b lah", out.toString());
}
}
使用trim.ftl只包含要测试的表达式。
${" b lah"?trim}
可以通过在模型中传递测试用例来改进它。