JUnit规则TemporaryFolder - Bamboo上的错误

时间:2014-11-25 10:13:32

标签: java junit bamboo rule

我用JUnit Rule TemporaryFolder写了一些UT。 在我的UT中,我模拟一个服务来返回这个目录:

@Rule
public TemporaryFolder folder = new TemporaryFolder();
...
@Test
public void myTest(){
    when(myMock.doSomething()).thenReturn(folder.getRoot());
...

然后在服务中,文件夹的使用方式如下:

IOFileFilter filtreBasique = new NameFileFilter(tagRCPName + ".xml", IOCase.INSENSITIVE);
FileUtils.listFiles(folder, filtreBasique, TrueFileFilter.TRUE);

当我在计算机上运行我的UT时,一切正常,但是当我尝试在Bamboo上运行它时,我有这样的错误:

java.lang.IllegalArgumentException: Parameter 'directory' is not a directory
at org.apache.commons.io.FileUtils.listFiles(FileUtils.java:358)

我无法弄清楚为什么......

1 个答案:

答案 0 :(得分:0)

最后我发现了我的错误...... 它与Rule JUnit无关......

当我尝试在我的目录中列出文件时,我有一个像[TEMP_REPO] \ test \ test和硬编写的分隔符这样的结构。所以我用System.getProperty("file.separator")替换它们,一切都很顺利。

希望这可以帮助某人......