#junit #ci #format #output-format #automate #workflow

bin+lib cargo-suity

JUnit 格式自动化测试运行和报告结果的工具

7 个版本

0.3.0 2021 年 4 月 12 日
0.2.1 2019 年 2 月 25 日
0.1.3 2019 年 2 月 11 日

测试 中排名第 289

Download history 12/week @ 2024-03-12 1/week @ 2024-03-26 12/week @ 2024-04-02 3/week @ 2024-04-09 44/week @ 2024-04-16 2/week @ 2024-04-23 3/week @ 2024-05-21 2/week @ 2024-05-28 12/week @ 2024-06-04 25/week @ 2024-06-11 15/week @ 2024-06-18 10/week @ 2024-06-25

每月下载量 64

BSD-2-Clause

41KB
862 行(不包括注释)

cargo-suity

Build Status codecov Version

此工具可以帮助您在 CI 中自动测试 Rust 应用程序。目前它可以运行定义的工作流程并以 JUnit 格式报告结果。它使用不稳定的 rust-test 功能,可能会出错... 在良好的情况下,它将作为子进程执行 cargo 并解析其输出。

asciicast

安装

 $ cargo install -f cargo-suity

使用方法

 $ cargo suity

当前版本缺少任何类型的变量参数。它只是运行它找到的所有工作流程。这可能会覆盖大多数用例... 为了查看 JUnit 文件,您可能需要 CI 的支持(点击 Azure Pipelines 徽章以了解我所说的内容)或某种类型的 查看器

退出代码

- 0 all tests across all workflows passes
- 101 - ran into error (permission denied, out of disk space, etc)
- N number of failed tests

配置 (suity.toml)

文件是可选的。如果没有指定,则使用默认配置。以下是一个示例配置

[global]
features = []
format   = "JUnit"
output   = "./test-results"

[workflow.default]
doc         = false
unit        = true
integration = ["*"]

[workflow.integration-cfg-serde]
doc         = false
unit        = false
integration = ["not_really_a_test"]
  • global 用于覆盖所有工作流程中的默认值。
  • workflow.<name> 用于定义工作流程。

配置切换

描述 可能值 默认值
name 覆盖工作流程名称 任何字符串 workflow.<name> 中的名称部分
features 要使用的功能列表 任何字符串列表 crate 的默认功能
format 测试结果输出格式 JUnit JUnit
output 保存测试结果的位置 任何可写路径 ./test-results
doc 测试此库的文档。 true / false true
lib 测试此包的库。 true / false true
integration tests/ 文件夹中不带扩展名的集成测试文件数组。 "*"(所有文件)

代码质量

坦白说...代码一团糟。只有 rust-test's json to JUnit 部分经过了测试。我甚至没有尝试在上面运行 clippy。然而,我在其他项目以及在此项目中使用它。

依赖项

~1-12MB
~98K SLoC