Caramelo (caramel in Portuguese, named after popular brazilian dog) is a comprehensive, production-ready unit testing framework for Rust with a focus on simplicity and ease of use.
Several useful matchers:
- logical: eq, ne, le, lt, ge and gt
- range: in_to, in_inc
- array: item, len, _in_
- wildcard: any
- string: contains, starts-with, ends-with
- is, is_eq, is_ne, is_lt, is_le, is_gt and is_ge
Add caramelo to your Cargo.toml:
caramelo = { version = "0.1.0" }Here's how simple it is to create unit tests with caramelo:
use caramelo::{expect, matchers::eq, assertions::Is};
/// Test equality matcher
#[test]
fn test_equal() {
expect(1).to_be(eq(1));
}
#[test]
#[should_panic(expected = "Expected 1 to be equals to 2")]
fn test_not_equal() {
expect(1).to_be(eq(2));
}
/// Test is assertion
#[test]
fn test_is() {
"a".is("a");
}
#[test]
#[should_panic(expected = "Expected a to be equal to b")]
fn test_is_panic() {
"a".is("b");
}Base crate for caramelo.
A crate with collection of convenience macros for caramelo.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
Rogerio Pereira Araujo rogerio.araujo@gmail.com