Ratcc

Rust Automated Test Cases in a Crate

Crates.io

A test frameworked for Rust, inspired by the [Catch] C++ test framework.

Usage

toml [dev-dependencies] ratcc = "0.1"

```rust

![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 examplefirstfails ... FAILED // test examplefirstfailssecondsucceeds ... FAILED // test examplefirstsucceeds ... ok // test examplefirstsucceedssecondfails ... FAILED // ```