#test-framework #parallel #configuration #unordered #command #snapshot-testing

bin+lib runt

轻量级且并行的快照测试框架

18 个版本

0.4.1 2023年6月13日
0.4.0 2022年4月19日
0.3.2 2021年8月1日
0.3.1 2021年7月30日
0.2.1 2020年3月30日

测试 中排名第176

自定义许可协议

1.5MB
856 行(不含注释)

RUN Tests (RUNT) 最新版 最新文档

Runt 是一个轻量级、并发和并行的快照测试框架,配置简单。查看文档了解各种功能的说明。

以下是一个 runt 的使用示例:

使用以下命令安装最新版本的 runt

cargo install runt

Runt 在以下测试设置中最有用

  • 一个需要运行在许多输入文件上的命令。
  • 按命令运行的文件分组测试套件。
  • 测试输出发送到 IO 流(stdout 和 stderr)。
  • 测试和测试套件是无序的。

Runt 在以下情况下没有用

  • 对数据结构进行丰富的深入测试。
  • 具有复杂设置、依赖项和拆卸的测试套件。

使用 runt 进行快照测试非常灵活。例如,在 runt-cli-test 下的测试测试 runt CLI 的输出。

构建和开发

  • 安装 Rust
  • 运行 cargo build --release。在 target/release/runt 下生成 runt 可执行文件。
  • Runt 使用 runt 进行测试。运行 runt cli-test 以测试 runt。

示例

查看 示例配置 以运行 cli-test 中的测试。要运行测试,请执行 runt cli-test

替代方案

  • Turnt 是一个允许进行更复杂快照比较的测试框架。当你想比较多个中间文件时,它特别强大。runt 为了更快的执行和内置的输出差异比较而放弃了 turnt 的灵活性。
  • insta 允许对内联 Rust 程序进行快照测试。当需要测试 Rust 程序的内在结构时非常有用。runt 运行在任意 shell 命令上,从而使得测试 CLI 程序成为可能。
  • jest 是一个 JavaScript 快照测试框架,允许构建复杂的期望查询。

Runt 用于测试由 Capra 实验室 构建的几个研究编译器:CalyxDahliaFilament

依赖项

~6–19MB
~209K SLoC