6 releases

0.3.1 Jan 14, 2024
0.3.0 Oct 30, 2023
0.2.2 Jul 30, 2023
0.1.0 Jun 30, 2023

#258 in Testing

43 downloads per month
Used in 2 crates

MIT/Apache

8KB
83 lines

test_panic

Utility for test cases with panic.

The author of this crate is not good at English.
Forgive me if the document is hard to read.

What is this?

Provides functions for test with panic. For the same purpose, the shoud_panic attribute is provided in the Rust standard, but it is not so useful, hence we created this crate.

Examples

Example with this crate.

#[test]
fn test() {
    let result = test_panic(|| panic!("message."));

    assert!(result.is_panic());
    assert!(result.message().contains("message."));
}

Example with should_panic.

#[test]
#[should_panic(expected = "message.")]
fn test() {
    // Suppresses standard error output.
    panic::set_hook(Box::new(|_| {}));

    panic!("message.");
}

What's New

v0.3.1

  • Minor refactoring.

v0.3.0

  • must_use annotations are added at TestPanicResult.

v0.2.0

  • Some document is polished.
  • TestPanicResult holds value on cases where no panic occurred.

No runtime deps