MockBloc<E, S> class Null safety

Extend or mixin this class to mark the implementation as a MockBloc.

A mocked bloc implements all fields and methods with a default implementation that does not throw a NoSuchMethodError, and may be further customized at runtime to define how it may behave using when and whenListen.

Note: It is critical to explicitly provide the event and state types when extending MockBloc.


class MockCounterBloc extends MockBloc<CounterEvent, int>
  implements CounterBloc {}


class MockCounterBloc extends MockBloc implements CounterBloc {}
Implemented types




hashCode int
The hash code for this object.
isClosed bool
Whether the bloc is closed.
runtimeType Type
A representation of the runtime type of the object.
state → S
The current state.
stream Stream<S>
The current stream of states.


add(E event) → void
Notifies the Bloc of a new event which triggers all corresponding EventHandler instances.
addError(Object error, [StackTrace? stackTrace]) → void
Reports an error which triggers onError with an optional StackTrace.
close() Future<void>
Closes the instance. This method should be called when the instance is no longer needed. Once close is called, the instance can no longer be used.
emit(S state) → void
Updates the state to the provided state. emit does nothing if the state being emitted is equal to the current state.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
on<E extends Event>(EventHandler<E, S> handler, {EventTransformer<E>? transformer}) → void
Register event handler for an event of type E. There should only ever be one event handler per event type E.
onChange(Change<S> change) → void
Called whenever a change occurs with the given change. A change occurs when a new state is emitted. onChange is called before the state of the cubit is updated. onChange is a great spot to add logging/analytics for a specific cubit.
onError(Object error, StackTrace stackTrace) → void
Called whenever an error occurs and notifies BlocObserver.onError.
onEvent(E event) → void
Called whenever an event is added to the Bloc. A great spot to add logging/analytics at the individual Bloc level.
onTransition(Transition<E, S> transition) → void
Called whenever a transition occurs with the given transition. A transition occurs when a new event is added and a new state is emitted from a corresponding EventHandler. executed. onTransition is called before a Bloc's state has been updated. A great spot to add logging/analytics at the individual Bloc level.
toString() String
A string representation of this object.


operator ==(Object other) bool
The equality operator.