Test Reporter 使用教程
1. 项目介绍
Test Reporter 是一个 GitHub Action,用于直接在 GitHub 中显示来自流行测试框架的测试结果。它能够解析 XML 或 JSON 格式的测试结果,并创建漂亮的报告。Test Reporter 支持多种编程语言和测试框架,包括 .NET (xUnit, NUnit, MSTest)、Dart、Flutter、Java (JUnit)、JavaScript (JEST, Mocha) 等。
2. 项目快速启动
2.1 安装
首先,在你的 GitHub 仓库中创建一个 .github/workflows
目录,并在其中创建一个 .yml
文件(例如 test-reporter.yml
)。
2.2 配置 GitHub Action
在 .yml
文件中添加以下内容:
name: Test Reporter
on:
pull_request:
push:
jobs:
build-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm test
- name: Test Report
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: JEST Tests
path: reports/jest-*.xml
reporter: jest-junit
2.3 运行测试
提交并推送你的更改,GitHub Actions 将自动运行测试并生成测试报告。
3. 应用案例和最佳实践
3.1 公共仓库的最佳实践
对于公共仓库,建议使用两个独立的 GitHub Actions 工作流:
- CI 工作流:在 PR 头分支的上下文中运行,执行测试并将测试结果上传为构建工件。
- Test Report 工作流:在仓库主分支的上下文中运行,下载测试结果并创建报告。
示例配置如下:
# CI 工作流
name: 'CI'
on:
pull_request:
jobs:
build-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm test
- uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: test-results
path: jest-junit.xml
# Test Report 工作流
name: 'Test Report'
on:
workflow_run:
workflows: ['CI']
types: [completed]
permissions:
contents: read
actions: read
checks: write
jobs:
report:
runs-on: ubuntu-latest
steps:
- uses: dorny/test-reporter@v1
with:
artifact: test-results
name: JEST Tests
path: '*.xml'
reporter: jest-junit
3.2 私有仓库的最佳实践
对于私有仓库,可以直接使用单个工作流来运行测试并生成报告。
4. 典型生态项目
4.1 GitHub Actions
Test Reporter 是 GitHub Actions 生态系统的一部分,可以与其他 GitHub Actions 无缝集成,例如 actions/checkout
和 actions/upload-artifact
。
4.2 JEST
JEST 是一个流行的 JavaScript 测试框架,Test Reporter 支持 JEST 生成的 JUnit XML 格式的测试结果。
4.3 NUnit
NUnit 是一个 .NET 测试框架,Test Reporter 支持 NUnit 生成的 XML 格式的测试结果。
4.4 JUnit
JUnit 是一个 Java 测试框架,Test Reporter 支持 JUnit 生成的 XML 格式的测试结果。
通过以上步骤,你可以轻松地在 GitHub 中集成 Test Reporter,并生成漂亮的测试报告。
鸿蒙开发工具大赶集
本仓将收集和展示鸿蒙开发工具,欢迎大家踊跃投稿。通过pr附上您的工具介绍和使用指南,并加上工具对应的链接,通过的工具将会成功上架到我们社区。012yolo-onnx-java
Java开发视觉智能识别项目 纯java 调用 yolo onnx 模型 AI 视频 识别 支持 yolov5 yolov8 yolov7 yolov9 yolov10,yolov11,paddle ,obb,seg ,detection,包含 预处理 和 后处理 。java 目标检测 目标识别,可集成 rtsp rtmp,车牌识别,人脸识别,跌倒识别,打架识别,车牌识别,人脸识别 等Java00每日精选项目
🔥🔥 每日精选已经升级为:【行业动态】,快去首页看看吧,后续都在【首页 - 行业动态】内更新,多条更新哦~🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~029frog
这是一个人工生命试验项目,最终目标是创建“有自我意识表现”的模拟生命体。Java00Cangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie055毕方Talon工具
本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python040PDFMathTranslate
PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython06mybatis-plus
mybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava03国产编程语言蓝皮书
《国产编程语言蓝皮书》-编委会工作区018- DDeepSeek-R1探索新一代推理模型,DeepSeek-R1系列以大规模强化学习为基础,实现自主推理,表现卓越,推理行为强大且独特。开源共享,助力研究社区深入探索LLM推理能力,推动行业发展。【此简介由AI生成】。Python00
热门内容推荐
最新内容推荐
项目优选








