overrideWithProvider method

Override overrideWithProvider(
  1. AutoDisposeStateProvider<State> override(
    1. Arg argument

Overrides a provider with a value, ejecting the default behaviour.

This will also disable the auto-scoping mechanism, meaning that if the overridden provider specified dependencies, it will have no effect.

The override must not specify a dependencies.

Some common use-cases are:

  • testing, by replacing a service with a fake implementation, or to reach a very specific state easily.
  • multiple environments, by changing the implementation of a class based on the platform or other parameters.

This function should be used in combination with ProviderScope.overrides or ProviderContainer.overrides:

final myService = Provider((ref) => MyService());

    overrides: [
        // Replace the implementation of the provider with a different one
        Provider((ref) {
          return MyFakeService(),
    child: MyApp(),


Override overrideWithProvider(
  AutoDisposeStateProvider<State> Function(Arg argument) override,
) {
  return FamilyOverride<Arg>(
    (arg, setup) {
      final provider = call(arg);
      final newProvider = override(arg);
      setup(origin: provider.notifier, override: newProvider.notifier);