#单元测试 #测试用例 #单元 #案例 #测试

nightly filetest

宏,用于为目录中的每个文件创建测试用例

3个版本

0.1.2 2023年10月18日
0.1.1 2023年9月26日
0.1.0 2023年9月26日

#785测试

MIT/Apache

8KB
120

一个进程宏,用于从文件集合中创建测试用例,适用于解析相关测试。

#[filetest::filetest("examples/files/*")]
fn test_file(path: &std::path::Path, bytes: &[u8], text: &str) {
    assert_eq!(std::fs::read(path).unwrap(), bytes);
    assert_eq!(bytes, text.as_bytes());
}

此crate需要proc_macro_span不稳定特性,以支持相对路径。

参数

传递给函数的参数通过名称识别,而不是通过类型。所有引用都是'static。目前支持以下三个参数

名称 类型 内容
path str: AsRef<T>[^path] 文件的绝对路径
bytes &[u8] 文件内容,由include_bytes!()查看
text &str 文件内容,由include_str!()查看

[^path]: 这包括strstd::path::Pathcamino::Utf8Path


lib.rs:

一个进程宏,用于从文件集合中创建测试用例,适用于解析相关测试。

#[filetest::filetest("../examples/files/*")]
fn test_file(path: &std::path::Path, bytes: &[u8], text: &str) {
    assert_eq!(std::fs::read(path).unwrap(), bytes);
    assert_eq!(bytes, text.as_bytes());
}

此crate需要proc_macro_span不稳定特性,以支持相对路径。

参数

传递给函数的参数通过名称识别,而不是通过类型。所有引用都是'static。目前支持以下三个参数

名称 类型 内容
path &T where str: AsRef<T>[^path] 文件的绝对路径
bytes &[u8] 文件内容,由include_bytes!()查看
text &str 文件内容,由include_str!()查看

[^path]: 这包括strstd::path::Pathcamino::Utf8Path

依赖

~0.4–0.8MB
~19K SLoC