【问题标题】:Unit test for parsing files, how to load the files from inside the application?解析文件的单元测试,如何从应用程序内部加载文件?
【发布时间】:2012-01-02 11:34:49
【问题描述】:

我想测试一个解析 excel文件服务方法 所以我需要以下帮助:

  1. 我想为web-app下的excel文件创建一个测试文件夹,怎么做?
  2. 如何在单元测试中加载文件

请指教,谢谢。

【问题讨论】:

    标签: java spring unit-testing jakarta-ee jsf-2


    【解决方案1】:

    我通常将文件放入资源中并将它们加载为this.getClass().getResourceAsStream("my.xsl")

    请注意。如果您将文件放入测试所在的同一包中,则只需输入本地名称。否则,您应该提供以/ 开头的绝对路径。如果您的应用程序不知道使用流并需要文件,请使用this.getClass().getResource("my.xsl").getFile()

    【讨论】:

    • 文件放在哪里,如何加载?
    • 好的,这是我尝试的: 1. 首先我在测试中没有资源文件夹,所以我创建了一个作为新的源文件夹 > 并选择路径 src/test/resources。 2.将我的文件添加到资源文件夹(我可以看到资源文件夹现在存在于测试包中并且文件在资源中)。 3. 使用以下代码加载文件:URL filePath = this.getClass().getResource("bulkDept.xlsx"); File file = new File(filePath.toURI()); 但总是出现空指针异常,请指教。
    • 测试包如下:src>test>java,resourcesjava文件夹是>Testing(测试包名) > mytestclass
    • 您的测试资源应位于资源文件夹下,该文件夹是与java 处于同一级别的另一个源文件夹。如果您使用的是 maven,则没有其他选项:src/main/java、src/main/resources、src/test/java、src/test/resources
    • 能否请您编辑答案以包含以下方式:URL filePath = this.getClass().getResource("/bulkDept.xlsx"); File file = new File(filePath.toURI());
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多