无法打开文件,因为它不存在

时间:2016-11-29 18:20:10

标签: spring travis-ci

在我的java spring应用程序中,我使用data-set.sql文件填充数据以进行测试

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = ConsultationWebApplication.class)
@Sql(scripts="requests-dataset.sql") 
@DirtiesContext(classMode= ClassMode.AFTER_EACH_TEST_METHOD)
@ActiveProfiles("test")
public class StatisticsTest {

//bla
//bla
//bla
}'

但是当我将代码推送到存储库时, travis持续集成 抱怨:

org.springframework.jdbc.datasource.init.CannotReadScriptException: Cannot read SQL script from class path resource [ee/avok/consultation/service/requests-dataset.sql]; nested exception is java.io.FileNotFoundException: class path resource [ee/avok/consultation/service/requests-dataset.sql] cannot be opened because it does not exist

重点是,测试运行并传入localhost,但它未通过CI

似乎CI无法找到该文件,但该文件位于测试包中。

1 个答案:

答案 0 :(得分:0)

根据我的经验,当您在Windows下开发并且CI服务器在Unix下工作时会发生此类错误。

我的猜测是你在Windows文件的路径中用一个大写字母命名了一些文件夹。 Windows不关心大写或小写,并且无论如何都会找到该文件。 Unix区分大小写,因此找不到文件。

在SQL文件的路径中的某处搜索大写字符。