Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么可以';我不能在travis或circle CI环境上获得测试资源吗?_Java_Junit_Maven 3_Travis Ci_Circleci - Fatal编程技术网

Java 为什么可以';我不能在travis或circle CI环境上获得测试资源吗?

Java 为什么可以';我不能在travis或circle CI环境上获得测试资源吗?,java,junit,maven-3,travis-ci,circleci,Java,Junit,Maven 3,Travis Ci,Circleci,在远程CI环境中运行项目的junit测试时,我遇到了一个非常恼人的问题 在我的本地机器上,使用java 1.8.0_181和maven 3.5.4,我没有任何问题 我曾经使用以下两种方式获得测试资源: String expected = Utils.readStream(new FileInputStream( "src/test/resources/testdata/fragment-subdir-absolute-path.txt")); 使用此选项

在远程CI环境中运行项目的junit测试时,我遇到了一个非常恼人的问题

在我的本地机器上,使用java 1.8.0_181和maven 3.5.4,我没有任何问题

我曾经使用以下两种方式获得测试资源:

        String expected = Utils.readStream(new FileInputStream(
            "src/test/resources/testdata/fragment-subdir-absolute-path.txt"));
使用此选项,我得到一个未找到的文件:

java.io.FileNotFoundException:fragment-subdir-absolute-path.txt(否 此类文件或目录)

因此:

        String expected = Utils.readStream(new FileInputStream(getClass()
            .getResource("/testdata/fragment-subdir-absolute-path.txt")
            .getPath()));
在这种情况下,我得到一个NPE:


[错误]TestFragmentHost时间已过:0.03秒好吧,令人尴尬的是,在许多小时之后,我发现了问题所在……:)

罪魁祸首是一个复制的.gitignore文件,其中包含以下内容:

# Package Files #
 target
 *.jar
 *.txt
EclipseIDE在未受限制的文件上添加了一个小的询问图标,在提交的文件上添加了一个小的repo图标,只需从被忽略的文件中删除该图标即可。 我只是没有注意那些被忽视的

因此,我将该文件更改为:

# Package Files #
target/*.jar
target/*.txt 
神秘的单元测试错误已经消失了


感谢大家一直以来的支持……

Hi Cristiano,您是否可以分享您所面临的确切错误的堆栈跟踪信息?此外-即使我怀疑它不会改变任何东西,另一种尝试方法是
Utils.readString(getClass().getResourceAsStream(“/testdata/fragment subdir absolute path.txt”)
Hi@Matthiasuttar,我已经更新了这个问题。感谢如果您的构建在远程CI服务(而不是本地)上失败,我倾向于认为您的CI配置有问题。您的本地计算机上有一些可以进行编译的工件,您没有指示CI服务获取它们。尝试在干净的系统(或Docker映像)上从头开始设置存储库。