when top-level property
When<T> Function<T>(T x())
get
when
Create a stub method response.
Call a method on a mock object within the call to when, and call a
canned response method on the result. For example:
when(() => cat.eatFood("fish")).thenReturn(true);
Mocktail will store the fake call to cat.eatFood, and pair the exact
arguments given with the response. When cat.eatFood is called outside a
when or verify context (a call "for real"), Mocktail will respond with
the stored canned response, if it can match the mock method parameters.
The response generators include thenReturn, thenAnswer, and thenThrow.
See the README for more information.
Implementation
When<T> Function<T>(T Function() x) get when {
if (_whenCall != null) {
throw StateError('Cannot call `when` within a stub response');
}
_whenInProgress = true;
return <T>(T Function() fn) {
try {
fn();
} catch (e) {
if (e is! TypeError) rethrow;
}
_whenInProgress = false;
return When<T>();
};
}