Java Freemarker JspTagLibs未使用Unittest调用
我正在尝试对一个freemarker.ftl文件进行单元测试,该文件包含jsptaglib(来自HippoCMS) 当尝试包含jsptaglib并给我一条错误消息时,它不起作用 自由标记码强>Java Freemarker JspTagLibs未使用Unittest调用,java,unit-testing,freemarker,Java,Unit Testing,Freemarker,我正在尝试对一个freemarker.ftl文件进行单元测试,该文件包含jsptaglib(来自HippoCMS) 当尝试包含jsptaglib并给我一条错误消息时,它不起作用 自由标记码 你好step4 我已经测试过,看看模板是否被模仿,它是否真的被模仿 setDirectoryForTemplateLoading(新文件(“../freemarker”); 最终模板模板=configuration.getTemplate(“Helloworld.ftl”) 以这种速度我运行了测试,我
你好step4
我已经测试过,看看模板是否被模仿,它是否真的被模仿 setDirectoryForTemplateLoading(新文件(“../freemarker”); 最终模板模板=configuration.getTemplate(“Helloworld.ftl”) 以这种速度我运行了测试,我可以看到ftl文件中的原始数据。确定我是否真的从模板中获取了数据。 所以我试着更进一步,把它画出来(哪里出了问题) 映射模型=新的HashMap() /*填充模型*/ 流程(模型,新的OutputStreamWriter(System.out)) 这就是它出错的地方,并在运行测试时给出此错误 包含的目录为 我不知道如何解决这个问题,我已经尝试了很多不同的尝试,但没有运气 参考文献
有人说这个问题在最新版本的freemarker中得到了解决,但事实似乎并非如此。HippoCMS肯定是通过
freemarker.ext.servlet.FreemarkerServlet
(或通过其子类)调用模板的。这就是添加JspTaglibs
变量并处理Servlet/JSP集成的原因。您的单元测试调用“独立”模板,因此没有Servlet/JSP支持。您能告诉我如何使用单元测试调用freemarker.ext.Servlet.FreemarkerServlet吗?就像一个代码示例那样。我试着延长时间;freemarker.ext.servlet.FreemarkerServlet在unittest中,但似乎也不起作用;您需要一个模拟(或真正的嵌入式)Servlet环境。我不知道现在什么是最好的解决方案,但一定要寻找现有的解决方案(甚至可能是HippoCMS提供的解决方案,如果有的话,因为模板可能想要访问CMS功能,也必须进行模拟)。