#catch #framework #test-cases #test-framework #automated #section

nightly ratcc

Rust 自动化测试用例库。一个受 Catch C++ 框架启发的测试框架。需要 nightly rust。

4 个版本

使用旧的 Rust 2015

0.1.3 2018年1月16日
0.1.2 2018年1月16日
0.1.1 2018年1月16日
0.1.0 2018年1月16日

#catch 中排名第 14

Apache-2.0/MIT

8KB
75 代码行

Ratcc

Rust 自动化测试用例库

Crates.io

一个受 Catch C++ 测试框架启发的 Rust 测试框架。

用法

[dev-dependencies]
ratcc = "0.1"
#![feature(proc_macro)]
extern crate ratcc;
use ratcc::*;

#[catch_test]
fn example() {

    let a = 0;
    assert_eq!(a, 0);

    #[section("first succeeds")] {
        let b = 0;
        assert_eq!(a, b);

        #[section("second fails")] { assert!(false); }
    }

    #[section("first fails")] {
        let b = 1;
        assert_eq!(a, b);

        #[section("second succeeds")] {
            // The parent section fails assert so this never
            // gets executed.
            //
            // Should result in undefined result but doesn't.
            assert!(true);
        }
    }
}

// OUTPUT:
//
//   Running target/debug/deps/test-d4d1fd68ce8fee8b
//
//   running 5 tests
//   test example ... ok
//   test example_first_fails ... FAILED
//   test example_first_fails_second_succeeds ... FAILED
//   test example_first_succeeds ... ok
//   test example_first_succeeds_second_fails ... FAILED

依赖

~2MB
~47K SLoC