Crate assertables

Source
Expand description

§Assertables: Rust crate of assert macros for testing

Assertables is a Rust crate that provides many assert macros to improve your compile-time tests and run-time reliability.

§Introduction

The Assertables Rust crate provides many assert macros that can help you develop, test, and debug.

To use this crate, add it to your file Cargo.toml:

assertables = "9.4.0"

Benefits:

  • You will write better tests to improve reliability and maintainability.
  • You will handle more corner cases without needing to write custom code.
  • You will troubleshoot faster because error messages show more detail.

Learning: FAQ, docs, examples, changes, upgrades, developing.

Comparisons: more_asserts, cool_asserts, assert2, claims, etc.

§Examples

Examples with numbers:

let i = 10;
assert_lt!(i, 11);
assert_gt!(i, 9);
assert_in_range!(i, 1..100);
assert_abs_diff_eq!(i, 12, 2);

Examples with strings:

let s = "hello world";
assert_starts_with!(s, "hello");
assert_ends_with!(s, "world");
assert_contains!(s, " ");
assert_is_match!(Regex::new(r"h.* w.*").unwrap(), s);

Examples with arrays:

let a = [1, 2, 3];
assert_not_empty!(a);
assert_len_eq_x!(a, 3);
assert_all!(a.into_iter(), |i: i32| i < 4);
assert_any!(a.into_iter(), |i: i32| i > 2);

§Highlights

Values:

Nearness:

Groups:

Matching:

Results:

Options:

Polls:

Collections:

Readers:

Commands:

Status:

Infix:

For a complete list of modules and macros, see the docs.

§Forms

The Assertables macros have a variety of forms to help you write the tests that matter most to you.

All the macros have forms for an optional message:

All the macros have forms for different outcomes:

Many of the macros have a form “compare left item to right item” that compares items of the same kind, and a form “compare left item to right expression” that compares one item to any arbitrary expression:

Many of the macros has a “success return”, which means the macro returns data that you can optionally use for more testing.

§Tracking

  • Package: assertables-rust-crate
  • Version: 9.4.0
  • Created: 2021-03-30T15:47:49Z
  • Updated: 2024-11-05T16:40:19Z
  • License: MIT or Apache-2.0 or GPL-2.0 or GPL-3.0 or contact us for more
  • Contact: Joel Parker Henderson (joel@joelparkerhenderson.com)

Modules§

Macros§