#assertions #nlp #test #shouldly

shoulds

An intuitive and simple library for writing test assertions in a natural and fluent language

7 releases

0.1.6 Feb 5, 2022
0.1.5 Dec 14, 2021

#658 in Testing

MIT license

15KB
215 lines

shoulds

shoulds is a Shouldly-inspired test assertion library for testing Rust.

Current Assertions:

Equality

  • should_be
  • should_be_greater_than
  • should_be_greater_than_or_equal_to
  • should_be_less_than
  • should_be_less_than_or_equal_to

Strings

  • should_contain
  • should_not_contain

Booleans

  • should_be_false
  • should_be_true

Results

  • should_be_error
  • should_be_ok

I'll add more assertions along the way as the need arises.

Install:

Cargo.toml:

[dev-dependencies]
shoulds = "0.1.6"

Enjoy:

src/lib.rs:

fn add(a: i32, b: i32) -> i32 {
    a + b
}

fn concat(a: &String, b: &String) -> String {
    format!("{}{}", a, b)
}

#[cfg(test)]
mod tests {
    use crate::{add, concat};
    use shoulds::*;

    #[test]
    fn add_adds_params_together() {
        let result = add(40, 2);

        result.should_be(42)
    }

    #[test]
    fn concat_concats_strings_together() {
        let result = concat(&"Hello, ".to_string(), &"world!".to_string());

        result.should_be("Hello, world!".to_string());
    }
}

No runtime deps