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 测试
36KB
1K SLoC
qutonium
使用最小测试框架简化单元测试 📈
免责声明
qutonium 受 rust-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:all
,before:each
,after:all
和after:each
- 导出
json
,xml
| 适用于 sonar 的通用执行格式 (仅限 xml) - 排除测试用例 |
skip
和only
-
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