use damock::Mock;
#[cfg_attr(test, derive(Mock))]
struct Foo {
bar: Bar,
// Use `Default::default` rather than `Mock::mock`
#[cfg_attr(test, mock_default)]
baz: u8
}
#[cfg_attr(test, derive(Mock))]
enum Bar {
// Define which enum variant shall be used for mocking
#[cfg_attr(test, mock)]
A,
B,
}
The derive of Foo
expands into:
#[cfg(test)]
impl Mock for Foo {
fn mock() -> Self {
Self {
bar: Mock::mock(),
baz: Default::default(),
}
}
}
#[test]
fn computes_data() {
let actual = compute(DataInput::mock());
assert_eq!(DataOutput::mock(), actual);
}