ci publish

stub_trait

Macro to implement stub object for a trait.

Overview

Stub traits is a technique to simulate some comportments or to avoid to be blocked by a specific part of the code that is not implemented yet.

Usage

stub_trait is generally only used by tests. Add the following snippet into your Cargo.toml: toml [dev-dependencies] stub_trait = "1.0.0"

You can use it like this: ```rust

[cfg(test)]

use stub_trait::stub;

[cfg_attr(test, stub)]

trait Animal { fn feed(&self, quantity: usize) -> &str; }

[cfg(test)]

fn test() { let animal = StubAnimal::new().withstuboffeed(|i, quantity| { if i == 0 { asserteq!(quantity, 10); "sad!" } else if i == 1 { asserteq!(quantity, 20); "happy!" } else { panic!("too much invocations!") } }); asserteq!(animal.feed(10), "sad!"); asserteq!(animal.feed(20), "happy!"); asserteq!(animal.countcallsof_feed(), 2); } ```

Contributing

See CONTRIBUTING.md file.