我只想使用GitLab CI进行测试,而不是部署我的应用程序。我设法汇编了这个.yml
文件:
image: java:8
stages:
- build
- test
build:
stage: build
script: ./gradlew build
artifacts:
paths:
- build/libs/myApp-4.0.0-SNAPSHOT.jar
unitTests:
stage: test
script:
- ./gradlew test
在GitLab管道中,出现以下错误:
ar.com.sebasira.myApp.myAppApplicationTests> contextLoads失败 java.lang.IllegalStateException 引起原因:org.springframework.beans.factory.BeanCreationException 引起原因:org.springframework.beans.BeanInstantiationException 引起原因:org.springframework.beans.factory.BeanCreationException 引起原因:org.springframework.beans.BeanInstantiationException 造成原因:org.springframework.boot.autoconfigure.jdbc.DataSourceProperties $ DataSourceBeanCreationException
我猜想这可能与数据库有关,对吧?我需要在运行服务器所在的服务器中向该数据库提供凭据吗?
如果是这样,我应该怎么做?我目前正在使用application.properties
文件来定义与数据库的连接。
还有一个问题……在.gitlab-ci.yml
文件中,我需要将路径放置到.jar
,但是每次我更新应用程序的版本时,该文件名都会更改。我需要手动更改吗?
答案 0 :(得分:3)
在通过带有注释Output:
0) key=1, value={'a': 1, 'b': 2, 'c': 3}
1) key=2, value={'a': 10, 'b': 20, 'c': 30}
和@RunWith(SpringRunner.class)
的测试(我认为这是从Spring Boot生成的标准测试)开始整个Spring上下文时,您必须提供一个数据源。您可以执行以下操作之一:
@SpringBootTest
的{{1}}中指定数据库凭据(您可以在数据库服务器上提供测试数据库,因为我不会在每次测试时都连接到生产数据库)application.properties
关于GitlabCI问题:无论使用哪个版本:src/test/resources
H2
来匹配任何*