Crate assertables

source
Expand description

§Assertables: Rust crate of assert macros for testing

The assertables Rust crate provides many assert macros to improve your compile-time tests and run-time reliability.

§Introduction

The Rust programming language provides a few built-in assert macros to test code:

The Rust programming language provides assert macros to test code:

The assertables crate provides many more, so you can write smarter tests.

Examples:

Top 3 benefits:

  1. You can write better tests to improve reliability and maintainability.
  2. You can handle more corner cases without needing to write custom code.
  3. You can troubleshoot faster because error messages show specifics.

Top 3 features:

  1. Easy to use: everything is well-documented with runnable examples.
  2. Runtime savvy: all the assertables macros have runtime versions.
  3. Zero overhead: if you don’t use a macro, then it’s never compiled.

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

[dev-dependencies]
assertables = "8.11.0"

§Assert macros

For values:

For approximation:

For strings:

For matching:

For infix operators:

For nearness:

For Result Ok/Err:

For Option Some/None:

For Poll Ready/Pending:

For collections such as arrays, vectors, maps, sets:

For file system paths and input/output readers:

For command capture of standard output and standard error:

There are many more macros that are grouped into modules.

Modules for collections, such as arrays, vectors, lists, maps:

Modules for functions:

Modules for readers:

Modules for external calls:

§Forms

§Forms for panic versus error

All the assert macros have 3 forms for different purposes:

  • Panic form for typical tests.
  • Debug form for debugging runtimes.
  • Result form for runtime checks, verifications, validations, etc.

Examples:

§Forms for messages

All the assert macros have 2 forms for messages.

  • Default message form.
  • Custom message form.

Examples:

§Forms for other versus expression

Many of the assert macros have 2 forms for comparing left hand side and right hand side.

  • Comparing a LHS item to a RHS other of the same type.
  • Comparing a LHS item to a RHS expression.

Examples:

§Tracking

  • Package: assertables-rust-crate
  • Version: 8.11.0
  • Created: 2021-03-30T15:47:49Z
  • Updated: 2024-10-01T13:11:35Z
  • License: MIT or Apache-2.0 or GPL-2.0 or GPL-3.0 or contact us for more
  • Contact: Joel Parker Henderson (joel@sixarm.com)

Modules§

Macros§