gpt4 book ai didi

java - 如何在 JUNIT 测试中从 WEB-INF 获取文件

转载 作者:行者123 更新时间:2023-12-04 23:18:59 27 4
gpt4 key购买 nike

在 webapp 的 Controller 中,当给定条件为真时,我重定向到其他页面 (xyz.jpsx)。

现在,在 Junit 测试中,我想强制重定向正确完成,而且重定向指向实际存在的 jsp。

我在 Junit 中找不到从 WEB-INF 中读取文件的方法。我不想对完整路径进行硬编码,因为该解决方案不会很便携。

我完全理解 WEB-INF 中的文件不在类路径中的事实,但可能有一种方法可以访问这些文件。寻找一种也适用于我的集成服务器的可移植解决方案。

最佳答案

有很棒的NIO.2 JDK 1.7 中的 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

关于java - 如何在 JUNIT 测试中从 WEB-INF 获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32762275/

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