Flutter Test MissingPluginException

Viewed 24337

Running tests which rely on the SharedPreferences Plugin always result in

MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)

My pubspec.yaml

dev_dependencies:
  flutter_test:
     sdk: flutter

dependencies:
  flutter:
     sdk: flutter
  shared_preferences: 0.2.3

The code for works fine in the application itself. Am i missing something i need to do in order to run tests which make use of a plugin?

3 Answers

I had the exact same problem with the flutter_secure_storage plugin. I believe the issue is that with both plugins you are relying on storage on your phone or emulator (not something in your app) so it's not available in your test environment. Try running the test directly by executing flutter run your_test_file.dart. According to https://flutter.io/testing/ this should execute your test "in your preferred runtime environment such as a simulator or a device." It worked perfectly for me.

@Siman thanks

version shared_preferences: ^0.5.12

ad SharedPreferences.setMockInitialValues({}); before the runApp() function inside the main funation of Flutter App

makes this error fixed for me

enter image description here

Related