jrest 0.1.1

The equivalent of Jest for Rust.
Documentation

Jrest

Crates.io Package Docs.rs Documentation Test Workflow Status Code Coverage

The equivalent of Jest for Rust.

Jrest is a testing framework project for Rust, inspired by Jest, easy to write and easy to read, with fancy diffs when tests fail.

⚠️ Be aware that this is a work in progress.

But it should get regular updates since I'm using it every week on my own open-source projects.



Installation

cargo add --dev jrest

Note https://crates.io/crates/rest is unfortunately squatted by a ghost. That's why I had to name it Jrest instead of Rest.

Usage

.to_be()

use jrest::expect;

#[test]
fn test_something() {
    expect!("A &str").to_be("A &str");
    expect!("A String".to_string()).to_be("A String".to_string());
}

Primitives

.to_be_greater_than()

use jrest::expect;

#[test]
fn test_something() {
    expect!(3).to_be_greater_than(2);
}

.to_be_greater_than_or_equal()

use jrest::expect;

#[test]
fn test_something() {
    expect!(3).to_be_greater_than_or_equal(2);
    expect!(3).to_be_greater_than_or_equal(3);
}

.to_be_less_than()

use jrest::expect;

#[test]
fn test_something() {
    expect!(2).to_be_less_than(3);
}

.to_be_less_than_or_equal()

use jrest::expect;

#[test]
fn test_something() {
    expect!(2).to_be_less_than_or_equal(3);
    expect!(2).to_be_less_than_or_equal(2);
}

Strings

.to_start_with()

use jrest::expect;

#[test]
fn test_something() {
    expect!("cargo").to_end_with("go");
}

.to_start_with()

use jrest::expect;

#[test]
fn test_something() {
    expect!("cargo").to_start_with("car");
}

Roadmap

  • .toContain()
  • .toHaveLength()
  • .toMatch()
  • .toMatchObject()
  • .toThrow()