pma*_*in8 4 java junit web-applications classpath
在webapp的控制器中,当给定条件为真时,我将重定向到其他页面(xyz.jpsx).
现在,在Junit测试中,我想强制执行重定向,但重定向也指向实际存在的jsp.
在Junit内部,我找不到从WEB-INF内部读取文件的方法.我不想硬编码完整路径,因为解决方案不太便携.
我完全理解WEB-INF中的文件不在类路径中,但可能有办法访问这些文件.寻找可在我的集成服务器上运行的便携式解决方案.
在JDK 1.7中有很好的NIO.2 API和类Path,在这个类的帮助下,你可以轻松地使用JSP访问文件夹(没有任何ServletContexts或其他),并使用JSP文件列表做你需要的,这里是一些小样本为了你:
import org.junit.Test;
import java.io.File;
import java.nio.file.Paths;
public class WebInfAccessTest
{
@Test
public void shouldListJsps()
{
File jspFolder = Paths.get("src/main/webapp/WEB-INF/pages").toFile();
for (File jsp : jspFolder.listFiles())
System.out.println(jsp.getName());
}
}
======================================================================
Here is result for my test Maven project
======================================================================
$ mvn test
...
T E S T S
-------------------------------------------------------
Running WebInfAccessTest
add.jsp
get.jsp
list.jsp
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.073 sec
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2074 次 |
| 最近记录: |