gpt4 book ai didi

grails - Spock 集成测试用例中的应用真实路径问题

转载 作者:行者123 更新时间:2023-11-28 21:11:20 30 4
gpt4 key购买 nike

我正在研究使用 jasper 生成 pdf 的操作的集成测试用例。那个 jasper 有一个 sub-report。要获取子报告的路径(web-app/reports/ 中的abc.jasper),我首先使用

获取真实路径
request.getSession().getServletContext().getRealPath("")

它给出 /home/mkb/workspace/my-project/web-app 然后连接 /reports/abc.jasper 得到父级的子报告碧 Jade 报告。这在运行应用程序 (run-app) 时工作​​正常。

但是在测试 (test-app) 上面的代码时给出 /home/mkb/workspace/my-project/target/work/scriptCache 因此我得到了

net.sf.jasperreports.engine.JRException: Resource not found at : 
/home/mkb/workspace/my-project/target/work/scriptCache/reports/abc.jasper

如何在测试用例中设置或修复此路径问题?(Grails 2.3.9)

最佳答案

请使用ServletContextHolder类静态方法 getRealPath() 获取真实路径。例如:-

ServletContextHolder.servletContext.getRealPath('/')

此代码将给出您的应用程序的 web-app 文件夹的路径。

关于grails - Spock 集成测试用例中的应用真实路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26603229/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com