[][src]Trait default_test::DefaultTest

pub trait DefaultTest {
    pub fn default_test() -> Self;
}

A trait for giving a type a useful default value, in the scope of unit tests.

Sometimes, unit tests need to construct a mock value when working with structs, such as:

struct User {
    id: usize,
    name: String,
    email: String,
    admin: bool
}

DefaultTest can be used to define default mocked values for use in tests. Tests can construct instances, and use the spread operator to override values.

use default_test::DefaultTest;

impl DefaultTest for User {
    fn default_test() -> Self {
        User {
            id: 0,
            name: "name".into(),
            email: "email".into(),
            admin: false
        }
    }
}

#[cfg(test)]
mod tests {
    #[test]
    fn test() {
        let user = User {
            id: 99
            ..User::test_default()
        };
        // ...
    }
}

Required methods

pub fn default_test() -> Self[src]

Returns a "default value" for a type, containing mocked values suitable for use in tests. Default values may contain literals, unique numbers, etc, to make test assertions easier to work with.

Examples

use default_test::DefaultTest;
let x: String = DefaultTest::default_test();

Make your own:

use default_test::DefaultTest;

struct Foo {
    bar: String   
}

impl DefaultTest for Foo {
    fn default_test() -> Self {
        Self {
            bar: "bar".into()
        }
    }  
}
Loading content...

Implementations on Foreign Types

impl DefaultTest for bool[src]

impl DefaultTest for char[src]

impl DefaultTest for &str[src]

impl DefaultTest for String[src]

impl DefaultTest for usize[src]

impl DefaultTest for isize[src]

impl DefaultTest for u8[src]

impl DefaultTest for i8[src]

impl DefaultTest for u16[src]

impl DefaultTest for i16[src]

impl DefaultTest for u32[src]

impl DefaultTest for i32[src]

impl DefaultTest for u64[src]

impl DefaultTest for i64[src]

impl DefaultTest for u128[src]

impl DefaultTest for i128[src]

impl DefaultTest for f32[src]

impl DefaultTest for f64[src]

Loading content...

Implementors

Loading content...