Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing FileTemplateResolver的Thymeleaf日期格式化程序_Unit Testing_Thymeleaf - Fatal编程技术网

Unit testing FileTemplateResolver的Thymeleaf日期格式化程序

Unit testing FileTemplateResolver的Thymeleaf日期格式化程序,unit-testing,thymeleaf,Unit Testing,Thymeleaf,我成功地将Spring3日期格式化程序与Thymeleaf集成在一起,并且${date}}的格式符合预期,这非常好 在SpringWeb应用程序上下文之外使用FileTemplateResolver处理模板时会出现问题。我们使用FileTemplateResolver处理模板并返回HTML代码,这样我们就可以在不启动应用程序本身的情况下对其进行验证,从而使测试过程更快、更简单 因此,在使用PagePreview处理以下片段时 <time data-th-datetime="${{creat

我成功地将Spring3日期格式化程序与Thymeleaf集成在一起,并且${date}}的格式符合预期,这非常好

在SpringWeb应用程序上下文之外使用FileTemplateResolver处理模板时会出现问题。我们使用FileTemplateResolver处理模板并返回HTML代码,这样我们就可以在不启动应用程序本身的情况下对其进行验证,从而使测试过程更快、更简单

因此,在使用PagePreview处理以下片段时

<time data-th-datetime="${{createdOn}}" datetime="2013-04-06T13:53">now</time>
我们如何为日期对象设置默认格式化程序

public final class PagePreview {
private static final IWebContext emptyContext = new FakeWebContext();

private static final String templateBaseFolder = "src/main/webapp/WEB-INF/thymeleaf-templates/";
private static final TemplateEngine templateEngine = initialiseTemplateEngine();

private static TemplateEngine initialiseTemplateEngine() {
    FileTemplateResolver templateResolver = new FileTemplateResolver();
    templateResolver.setPrefix(templateBaseFolder);
    templateResolver.setSuffix(".html");
    templateResolver.setTemplateMode("LEGACYHTML5");
    templateResolver.setHtml5TemplateModePatterns(Sets.newHashSet("*.html"));
    TemplateEngine engine = new TemplateEngine();
    engine.setTemplateResolver(templateResolver);
    engine.initialize();
    return engine;
}

public static String previewTemplateWithData(String templateName, Data data) {
    Context ctx = new FakeWebContext();
    ctx.setVariables(data.toMap());
    return templateEngine.process(templateName, ctx);
}

public static String previewTemplateOnly(String templateName) {
    return templateEngine.process(templateName, emptyContext);
}
}