alxvng / qatracker
QATracker 是一个用于收集、存储和渲染质量保证指标的工具。
Requires
- php: >=7.4
- ext-json: *
- ext-xml: *
- flow/jsonpath: ^0.5.0
- goat1000/svggraph: ^3.5
- symfony/console: ^5.0
- symfony/filesystem: ^5.0
- symfony/finder: ^5.0
- symfony/string: ^5.0
- symfony/yaml: ^5.0
- twig/twig: ^3.0
Requires (Dev)
- phpstan/phpstan: ^0.12.18
- phpunit/phpunit: ^9.0
- symfony/var-dumper: ^5.0
This package is auto-updated.
Last update: 2024-09-29 05:22:24 UTC
README
QATracker
QATracker 是一个用于收集、存储和渲染质量保证指标的工具。
例如,您可以在项目中运行一些静态代码分析工具,如 phploc 或 phpcpd,然后通过导出的文件收集一些指标。这些特定收集的数据将存储在其他文件中,如果您愿意,可以将其推送到您的存储库。
演示
您可以在以下链接查看报告示例: 演示
要求
您可以在 Packagist 网站上查看要求: https://packagist.org.cn/packages/alxvng/qatracker
安装
如有必要,请删除之前的安装
rm qatracker.phar;
安装 phar (master)
wget https://github.com/alxvgt/qa-tracker/raw/master/release/qatracker.phar
如果您更喜欢更稳定的版本,请从 https://github.com/alxvgt/qatracker/releases 检出最新稳定版本
使用方法
如何运行 qatracker
php qatracker.phar
首次使用
- 运行您喜欢的 QA 工具并生成日志文件
- 运行 qatracker,如果检测到配置文件,则工具将为您生成一个示例。
- 根据您的指标日志修改生成的示例文件,然后再次运行该工具。
- 将生成一个 HTML 页面报告,您可以在您喜欢的浏览器中打开它。您可以看到报告,但图表是空的(收集的值不足)。
注意:至少需要 两次收集 指标才能显示历史记录图表。
定期使用
- 再次运行您喜欢的 QA 工具并生成日志文件
- 再次运行 qatracker,它会从您已经配置的相同 qa 工具日志文件路径中收集新的指标,然后生成一个包含新旧值的新的报告。
- 现在您可以看到您喜欢的指标的历史记录。享受吧!
配置 config.yaml
您需要添加自己的配置来构建自己的指标和报告。配置基于两个对象
- dataSerie:此对象使您能够从任何您想要的文件中选择/提取数据。qatracker 每次运行都会运行每个 dataSerie 提供商,并将整理后的数据存储在文件中。
- chart:此对象将 dataSerie 与最终报告中的图表相关联
qatracker: dataSeries: [list of your data series] charts: [list of your charts]
示例:您可以在 .qatracker.dist/config.yaml
中查看默认配置文件
dataSeries
您需要遵循此结构并替换括号内的变量
[id]: class: [provider class] arguments: - [path to a qa tool log file] - [expression to retrieve data in the file (xpath, jsonpath, etc.)]
可用的提供程序类
- Alxvng\QATracker\DataProvider\XPathProvider:从 xml 文件中选择唯一数据
- Alxvng\QATracker\DataProvider\XPathSumProvider:从 xml 文件中选择多个数据,并使用总和进行归约
- Alxvng\QATracker\DataProvider\XPathCountProvider:计算在 xml 文件中通过表达式检索的节点数
- Alxvng\QATracker\DataProvider\XPathAverageProvider:从 xml 文件中选择多个数据并计算平均值
- Alxvng\QATracker\DataProvider\JsonPathProvider:从 json 文件中选择唯一数据
- Alxvng\QATracker\DataProvider\JsonPathSumProvider:从 json 文件中选择多个数据,并使用总和进行归约
- Alxvng\QATracker\DataProvider\JsonPathCountProvider:计算在 json 文件中通过表达式检索的节点数
- Alxvng\QATracker\DataProvider\JsonPathAverageProvider:从 json 文件中选择多个数据并计算平均值
示例
total-duplicated-lines: class: Alxvng\QATracker\DataProvider\XpathSumProvider arguments: - '/tmp/qa-logs/phpcpd/log.xml' - '/pmd-cpd/duplication/@lines'
charts
您需要遵循此结构并替换括号内的变量
[id]: type: [graph type class] dataSeries: - [data serie id] graphSettings: [graph settings]
图形类型类:您可以在库文档中找到所有可用的图形选项:https://www.goat1000.com/svggraph.php#graph-types
数据系列ID:您应该参考上一节中定义的数据系列。
图形设置:您可以在库文档中找到所有可用的图形选项:https://goat1000.com/svggraph-options.php
示例
total-duplicated-lines: type: Goat1000\SVGGraph\LineGraph dataSeries: - 'total-duplicated-lines' graphSettings: graph_title: 'Totla duplicated lines'
使用导入组合您的配置
您可以通过使用imports
指令将主config.yaml
与其他配置文件组合。导入的文件将首先处理,然后才是config.yaml
的内容。
imports: - { resource: config-phploc.yaml }
文档与问答
有关此工具的一些信息可在此处找到:文档
贡献
您可以通过添加问题或拉取请求来为此项目做出贡献。为了开始项目,您可以遵循以下说明:
要求
- docker >= 19.03.5
- docker-compose >= 1.25.0
安装
首先,将此存储库进行分叉。然后,遵循以下说明。
git clone <your-fork-repository-url> cd qatracker/docker make start make connect
现在您已连接到容器,可以开始在此项目上工作。