pub struct Sequence { /* private fields */ }
Expand description
Used to enforce that mock calls must happen in the sequence specified.
Each expectation must expect to be called a fixed number of times. Once satisfied, the next expectation in the sequence will expect to be called.
Examples
#[automock]
trait Foo {
fn foo(&self);
fn bar(&self) -> u32;
}
let mut seq = Sequence::new();
let mut mock0 = MockFoo::new();
let mut mock1 = MockFoo::new();
mock0.expect_foo()
.times(1)
.returning(|| ())
.in_sequence(&mut seq);
mock1.expect_bar()
.times(1)
.returning(|| 42)
.in_sequence(&mut seq);
mock0.foo();
mock1.bar();
It is an error to add an expectation to a Sequence
if its call count is
unspecified.
# use mockall::*;
#[automock]
trait Foo {
fn foo(&self);
}
let mut seq = Sequence::new();
let mut mock = MockFoo::new();
mock.expect_foo()
.returning(|| ())
.in_sequence(&mut seq); // panics!