【问题标题】:How to create test resources folder manually for unit test如何为单元测试手动创建测试资源文件夹
【发布时间】:2011-11-21 08:58:19
【问题描述】:

我正在处理的示例应用程序在测试中没有资源文件夹,我不知道为什么,所以我尝试在测试中手动创建资源文件夹,如下所示:

来自 eclipse:在 java 资源 > 新源文件夹 > src/test/resources

我现在可以看到资源文件夹出现在测试包中,但问题是,我应该对 ma​​venspring任何其他配置 /strong> 或 单元测试 以便我可以使用资源文件夹并从中加载文件?

请指教,谢谢。

【问题讨论】:

    标签: spring unit-testing maven junit


    【解决方案1】:

    您可以使用 maven 标准目录布局(然后 maven 会自动包含它),或者您将 maven 指向构建部分中 pom 文件中的资源,如下所示:

    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
      </testResource>
    </testResources>
    

    那么你就有了类路径上的资源。

    【讨论】:

    • 好吧,我根据上面描述的方式尝试了测试,并且效果很好顺便说一句,上面的配置有什么用?
    • bTW,我在 pom 文件中找到了以下资源标签:&lt;resources&gt; &lt;resource&gt; &lt;directory&gt;src/main/resources&lt;/directory&gt; &lt;filtering&gt;true&lt;/filtering&gt; &lt;/resource&gt; &lt;/resources&gt; 测试是否也需要 filter=true ?
    • @Mika:取决于您是否希望在构建时在资源文件中完成任何替换。如果需要,则需要过滤;如果没有,你不会。 (您需要哪个?取决于您在做什么,但您可能不希望在图像文件中进行替换……)
    • 正如 Donal 所写... fitlering 将变量 ${var} 替换为它们的值。更多这里maven.apache.org/plugins/maven-resources-plugin/examples/…
    • @MahmoudSaleh - 我希望 Maven 为我创建主要/资源和测试/资源。我该怎么做?
    【解决方案2】:

    我为 Gradle 用户发布另一个答案

    编辑.classpath文件

    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
        ...
        <classpathentry kind="src" output="bin/test" path="src/test/java">
            <attributes>
                <attribute name="test" value="true"/>
                <attribute name="gradle_scope" value="test"/>
                <attribute name="gradle_used_by_scope" value="test"/>
            </attributes>
        </classpathentry>
        <classpathentry kind="src" output="bin/test" path="src/test/resources">
            <attributes>
                <attribute name="test" value="true"/>
                <attribute name="gradle_scope" value="test"/>
                <attribute name="gradle_used_by_scope" value="test"/>
            </attributes>
        </classpathentry>
        ...
    </classpath>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-21
      • 2017-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多