35 个版本
0.9.3 | 2024 年 6 月 19 日 |
---|---|
0.9.2 | 2024 年 3 月 8 日 |
0.9.0 | 2022 年 11 月 11 日 |
0.8.1 | 2022 年 6 月 6 日 |
0.3.3 | 2019 年 9 月 20 日 |
#16 在 测试 中排名
每月 158,195 次下载
用于 61 crates
17KB
270 行
NTest
NTest 是一个增强 Rust 内置库的测试框架,添加了一些有用的功能。受 .Net 单元测试框架 NUnit 启发。
入门
NTest 的一些函数使用了 过程宏,这些宏在 Rust 2018 版本中是稳定的。如果你使用这个库,请确保你使用的是 2018 版本的 Rust。更新 Cargo.toml 文件
[package]
edition = "2018"
# ..
在 Cargo.toml 文件中将 NTest 库 添加到你的开发者依赖项中
[dev-dependencies]
ntest = "*"
内容
#[timeout()]
属性用于测试中的超时。#[test_case()]
属性用于为测试函数定义多个测试用例。assert_about_equal!()
比较两个浮点数或向量的相等性。assert_false!()
预期测试用例的参数为假。assert_true!()
预期测试用例的参数为真。assert_panics!()
预期代码块会 panic。否则测试失败。
更多信息请参阅 文档。
示例
创建测试用例
use ntest::test_case;
#[test_case("https://doc.rust-lang.net.cn.html")]
#[test_case("http://www.website.php", name="important_test")]
fn test_http_link_types(link: &str) {
test_link(link, &LinkType::HTTP);
}
长运行函数的超时
use ntest::timeout;
#[test]
#[timeout(10)]
#[should_panic]
fn timeout() {
loop {};
}
组合属性
use std::{thread, time};
use ntest::timeout;
use ntest::test_case;
#[test_case(200)]
#[timeout(100)]
#[should_panic]
#[test_case(10)]
#[timeout(100)]
fn test_function(i : u32) {
let sleep_time = time::Duration::from_millis(i);
thread::sleep(sleep_time);
}
依赖
~3.5MB
~75K SLoC