1 个不稳定版本

0.1.0 2022年9月25日

#555测试

MIT/Apache

35KB
883

testdata-rs

用于基于文件测试的宏和辅助函数。

示例

该包的主要功能是 testdata::files,它可以自动查找测试文件并将其展开为多个测试。

use std::str;
use testdata::{assert_snapshot, TestFile};

#[testdata::files(rebuild = "tests/example.rs")]
#[test]
fn test_foo(
    #[glob = "tests/fixtures/**/*-in.txt"] input: &TestFile,
    #[glob = "tests/fixtures/**/*-out.txt"] output: &TestFile,
) {
    let s = input.raw_read();
    let s = str::from_utf8(&s).unwrap();
    let result = s.to_uppercase();
    assert_snapshot!(result, snapshot = output);
}

后续版本将添加更多文档。


lib.rs:

用于基于文件测试的宏和辅助函数。

示例

该包的主要功能是 testdata::files,它可以自动查找测试文件并将其展开为多个测试。

use std::str;
use testdata::{assert_snapshot, TestFile};

#[testdata::files(rebuild = "tests/example.rs")]
#[test]
fn test_foo(
    #[glob = "tests/fixtures/**/*-in.txt"] input: &TestFile,
    #[glob = "tests/fixtures/**/*-out.txt"] output: &TestFile,
) {
    let s = input.raw_read();
    let s = str::from_utf8(&s).unwrap();
    let result = s.to_uppercase();
    assert_snapshot!(result, snapshot = output);
}

后续版本将添加更多文档。

依赖

~2–11MB
~123K SLoC