ruben
ruben

Reputation: 1750

'Null' is not a subtype of type 'Future<String?>'

While unit testing by mocking secure storage using mockito this appears. any help?

package:flutter_secure_storage/flutter_secure_storage.dart 82:19  MockFlutterSecureStorage.read
package:some_pack/storage/secure_preferences.dart 37:48           SecureStorage.getToken
test\storage\secure_preferences_test.dart 21:27                   main.<fn>.<fn>
test\storage\secure_preferences_test.dart 17:29                   main.<fn>.<fn>

type 'Null' is not a subtype of type 'Future<String?>'

Sample code

TestWidgetsFlutterBinding.ensureInitialized();
  MockFlutterSecureStorage mockFlutterSecureStorage =
      MockFlutterSecureStorage();
  SecureStorage secureStorage =
      SecureStorage(flutterSecureStorage: mockFlutterSecureStorage);

  group('token', () {
    test('when getToken()', () async {
      // Given

      // When
      await secureStorage.getToken();

      // Then
      verify(mockFlutterSecureStorage.read(key: "com.xdev.token_key"));
    });

where

class MockFlutterSecureStorage extends Mock implements FlutterSecureStorage {}

Upvotes: 1

Views: 442

Answers (1)

reza
reza

Reputation: 1508

your problem is with null-safety. some additional steps are added to mockito due to null-safety migration. have a look here: https://github.com/dart-lang/mockito/blob/master/NULL_SAFETY_README.md

Upvotes: 1

Related Questions