- 【case/casepath.ini】文件内按模板要求更新case的的地址
- 计算打分:
make get-score PROJECT=${你的项目名称}
- 符合的条目,请打[x]. 注意:因为gitlab对表格内的打勾不支持,所以需要用
<ul><li>[ ] </li></ul>
这种恶心的workaround(https://gitlab.com/gitlab-org/gitlab/-/issues/21506) - 提交PR
- 将URL(
https://gitlab.daocloud.cn/ndx/qa/e2ecoverage/-/raw/main/badges/${PROJECT}.svg
)嵌入你的项目badge中
重复上述的第2到4步骤
===========================我是分隔符==================================
GET http://IP:PORT/
功能描述:测试接口
举例: curl -X GET http://127.0.0.1:8000/
response:
e2e test - Hello World
功能描述:按照字符串关键字返回查询到的gitlab项目id, name
举例: curl -X GET http://127.0.0.1:8000/projects/insight
response:
{
"715": "The Magic Insight Installer",
...
"1115": "opentelemetry-collector-insight"
}
功能描述:返回当前service里已注册的所有gitlab项目
举例: curl -X GET http://127.0.0.1:8000/registeredProjects
response:
{
"1124": "e2e-test-coverage",
"123": "review-bot",
"899": "insight"
}
功能描述:使用gitlab项目ID在本服务中注册需要统计测试自动完成率的项目
举例: curl -X GET http://127.0.0.1:8000/project/899
response:
项目已注册,无需再次注册
功能描述:手动调此接口执行docs/test测试用例扫描及统计完成率并在badges目录下生成徽章svg文件
举例: curl -X POST http://127.0.0.1:8000/project/899
response:
徽章已生成, 请查看本项目仓库中badges目录
功能描述:使用gitlab项目ID获取项目issues并生成issue badges
举例: curl -X GET http://127.0.0.1:8000/issue/899
response:
Issue徽章已生成, 请查看本项目仓库中badges目录
说明:
当月平均issue修复时间: average_fix_time_perMonth.svg
未分类issue最长等待时间: earliest_issue.svg
- 使用接口按照项目名称关键字查询项目ID,例如curl -X GET http://127.0.0.1:8000/projects/insight
从中找到对应的项目名称和ID - 使用接口在此service中注册项目,例如url -X GET http://127.0.0.1:8000/project/
并且初次扫描项目所有的testcase md文档完成统计并且生成徽章,例如url -X POST http://127.0.0.1:8000/project/
备注:
2.1 此步骤要登陆gitlab项目并且clone代码到本地扫描所有的md文件,耗时比较长,请耐心等待
2.2 gitlab经常会网络不稳定以至于请求超时;若遇到gitlab响应失败,再次请求即可 - 使用Post接口扫描docs/test测试用例并计算e2e test case完成然后生成徽章,例如url -X POST http://127.0.0.1:8000/project/
将第3步生成的徽章url填入项目Settings - General - Badges - Badge image URL; 在项目首页即可看到;并且填入项目docs/test/README.md文件中即可展示测试用例详细完成率
此service在gitlab CI中定时将已注册项目扫描生成新的完成率统计,徽章数据会随之更新
docker run -d --name e2e-test-coverage-service -p 8000:8000 --restart always release-ci.daocloud.io/common-ci/e2e-test-coverage-service:v0.0.0