8 个版本

0.1.6 2020年11月17日
0.1.5 2020年11月17日
0.1.1 2020年10月30日
0.0.0 2020年10月5日

#330 in 测试

MIT 许可证

36KB
1K SLoC

qutonium

github crates.io docs.rs Crates.io


使用最小测试框架简化单元测试 📈

免责声明

qutoniumrust-testing-microframework 启发。目标是提供一个用于断言的最小测试框架(请参阅此处的功能列表)。该项目仍在开发中,因此.. 不要在生产环境中使用。不要在生产环境中使用。不要在生产环境中使用。欢迎反馈!

示例

更多示例 此处

基本语法

fn main () {}

#[cfg(test)]
mod tests {
  extern crate qutonium;
  use qutonium::prelude::*;

  #[test]
  fn from_test () {
    suite!("the suite case name ~basic", {
      "compare integer" || {
        expect!(2 + 2).to(be_equal(4));
      }
    });
  }
}

糖语法

fn main () {}

#[cfg(test)]
mod tests {
  extern crate qutonium;
  use qutonium::prelude::*;

  #[test]
  fn from_test () {
    suite!("the suite case name ~sugar", {
      "compare integer" || {
        must!(2 + 2; be 4);
      }
    });
  }
}

概述

标准输出

输出格式遵循 crystal | ruby 的语法。s/o Siegfried Ehret

SUITE the suite case name
  TEST compare integer (0ms)
    ERROR
       👎 received: <0> expected: <1>
       📍 src/main.rs:7:7
    END
  END
  TEST compare boolean (0ms)
    SUCCESS
       👍 ok
       📍 src/main.rs:12:7
    END
  END
  TEST testing should panic (0ms)
    SUCCESS
       👍 ok
       📍 src/main.rs:16:7
    END
  END
END

DIAGNOSTIC
  👎 failed: 1   👍 passed: 2   📈 total: 3
END

用法

将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
qutonium = "0.1.3"

目标

  • 描述测试套件案例 | suite!
  • 测试函数 |
  • 断言 | expect
  • 标记 | not & to
  • matchers | 请参阅完整的列表
  • 扩展 matchers
  • 自定义 matchers
  • 诊断
  • 错误位置 location
  • 有用的错误信息
  • 糖语法
  • 没有嵌套套件
  • 内联标准输出
  • 彩色终端输出 | 使用 qute
  • snapshot 差异 | 使用 differences
  • 扩展 matchers
  • 钩子 | before:allbefore:eachafter:allafter:each
  • 导出 jsonxml | 适用于 sonar 的通用执行格式 (仅限 xml)
  • 排除测试用例 | skiponly
  • store | 状态容器
  • 应该 panic 可以进行测试
  • 编写单元测试
  • 文档

API

导出

json

处理器 代码片段
to_json 有关导出的更多信息,请在此处查看

标记

标记 代码片段
expect!(表达式).(匹配器)
expect!(表达式).(匹配器)

匹配器

布尔值

匹配器 代码片段
be_false expect!(表达式).(be_false())
be_true expect!(表达式).(be_true())

通用

匹配器 代码片段
be_equal expect!(表达式).(be_equal(表达式))

许可证

版权所有 ©️ 2020 Qurity

MIT 许可下发布

依赖项

~0.5–1MB
~23K SLoC