#bdd #tdd #test

vinegar

一组用于帮助测试 Rust 代码的函数和宏

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2017年7月30日

#846测试

Apache-2.0

6KB
57

Vinegar

一组用于帮助测试 Rust 代码的函数和宏。

  • expect 检查布尔条件,类似于 assert
  • expect_eq 检查两个值是否相等,类似于 assert_eq

函数

  • fn check<I>(期望:I) 在哪里I: IntoIterator<Item=Result<(), String>>

接受一个 Result<(), String> 类型的集合,这恰好是期望宏返回的类型。

因此,check 函数基本上是用来检查使用 expect 宏做出的断言。

用法

示例用法

use vinegar::check;

#[test]
fn use_check() {
    // simple test: just check some expectations:
    check(vec![
        expect_eq!(2 + 2, 4),
        expect!(2 + 2 == 4),
        expect_eq!("hi", "hi"),
    ]);

    // simple example-based test
    let examples = [1, 2, 3, ];

    check(examples.iter().map(|&ex| expect!(ex > 0)));

    // example-based test with both input and assertion as examples
    let examples = vec![
        // (input, expected result)
        (1, 2),
        (2, 4),
        (3, 6),
    ];

    check(examples.iter().map(|&(input, expected)| {
        let result = input * 2;
        expect_eq!(result, expected)
    }));
}

无运行时依赖