如何在单元测试中读取配置文件?

Mic*_*ael 3 java unit-testing maven

我有一个标准的maven项目布局.
一些配置文件存储在src/main/conf.
现在我想在单元测试中读取这些文件src/test(例如,从其中一个文件中读取属性).
我怎么能完全这样做?

amr*_*mra 7

您需要配置maven以将这些文件用作测试资源.

只需指定它pom.xml.比maven将处理与测试资源相同的配置文件.

  <build>
    ...
    <testResources>

      <!-- don't forget to specify the default test resources directory -->
      <testResource>
        <directory>src/test/resources</directory>
      </testResource>

      <!-- add the config directory -->
      <testResource>
        <directory>src/main/conf</directory>
      </testResource>

    </testResources>
    ...
  </build>
Run Code Online (Sandbox Code Playgroud)

此设置将强制maven target/tests-classes在运行单元测试之前复制配置文件.然后你的单元测试将在类路径上有配置文件,你可以使用它来读取它们getClass().getResource("/yourConfigFile.conf").