Jenkins的测试失败了

时间:2011-06-16 08:18:06

标签: java resources maven junit jenkins

我有一个maven项目,它是在Jenkins中构建和测试的。在我的本地计算机上,测试运行成功,但在Jenkins中,无法加载测试所需的文件。我使用this.getClass.getResourceAsStream("testfile.dat")加载资源。似乎Jenkins没有将资源文件复制到运行测试的目录中。这是一个maven问题吗?我如何建议Jenkins / Maven将资源复制到测试类路径?

3 个答案:

答案 0 :(得分:5)

将测试资源放在Maven项目的src/test/resources 中。 Maven将确保在运行测试时它们位于类路径中,因此可以使用getResourceAsStream(...)找到它们。

答案 1 :(得分:0)

当您使用带有未指定包的字符串参数的getResourceAsStream时(如示例“testfile.dat”中),资源必须位于完全相同的包(也称为文件夹)中您正在调用Class方法的getResourceAsStream对象。你应该检查这两个类,它的资源是否真的在同一个包中。

您可能希望查看Maven在打包项目时生成的target文件夹,您可以找到资源的最终位置。

答案 2 :(得分:0)

我遇到了类似的问题,但由于各种原因,我不想将资源转移到src / test / resources。 不过我可以通过将所有子文件夹显式添加到pom.xml来解决问题,如下面的代码段所示:

<build>
  <resources>
    <resource>
        <directory>myFolder/subFolder1</directory>
    </resource>
    <resource>
        <directory>myFolder/subFolder2</directory>
    </resource>
    <resource>
        <directory>myFolder/subFolder3</directory>
    </resource>
  </resources>
    [....]
</build>