使用 Maven 运行单元测试
Runner 运行起来之后,我们可以尝试建立一个项目,使用 Runner 来针对每次提交,运行一次单元测试。
访问 projects/new
创建一个新项目,命名为 sample
:
创建完成之后,进入项目的主页面:
这里点击 clone
按钮,会看到弹出的项目 git 地址,我们使用这个地址对项目进行初始化。
$ git clone git@gitlab.microservice.rocks:root/sample.git
正克隆到 'sample'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
接收对象中: 100% (3/3), 完成.
这里我们使用来自 Junit 5 Sample 中的 Maven 示例来尝试 CI。
$ cd sample
$ wget https://github.com/junit-team/junit5-samples/archive/master.zip
...
$ unzip master
$ mv junit5-samples-master/junit5-jupiter-starter-maven/* .
$ rm master.zip
$ rm -Rf junit5-samples-master
接下来创建如下内容的文件,命名为 .gitlab-ci.yaml
stages:
- scan
- build
job unit:
stage: scan
tags:
- maven
script:
- mvn test
Git 添加并提交,返回浏览器,查看项目首页,会发现多出一行内容:
这表示项目的 CICD 正在运行。稍候片刻,浏览 root/sample/pipelines
,会看到执行的 Pipeline 列表,我们最近的提交,Pipeline 结果已经显示为成功,点击后能够看到每个 Job 的执行记录:
如果我们修改一下测试案例 src/test/java/com/example/project/CalculatorTests.java
,把其中的 34 行修改为 1011 或者其它的错误结果,就会看到测试失败的情况。
如果新建分支,并在分支中修复测试案例的话,会在 MR 中看到单元测试的结果,帮助管理员判断 Merge Request 的合并请求是否合理: