繁体   English   中英

Flutter mockito 迁移空值安全后的单元测试错误

[英]Flutter mockito unit test error after migrate null-safety

Null* 获取任何 package:mockito/src/mock.dart

匹配在“this”position 中传递的任何参数的参数匹配器。

参数类型 'Null*' 不能分配给参数类型 'Params'.dart(argument_type_not_assignable)

  test('should start listening when StartListening is called', () async {
final tStreamListHazardEntity =
    Stream<List<HazardEntity>>.fromIterable([tListHazardEntity]);

// arrange
when(mockHazardListen!.call(any))
    .thenAnswer((_) async => Right(tStreamListHazardEntity));
// assert
expectLater(
    bloc,
    emitsInOrder([
      isA<HazardMasterInitial>(),
      isA<Loading>(),
      isA<UpdateState>()
    ]));

// act
bloc!.add(StartListening());
await untilCalled(mockHazardListen!.call(any));

// assert
verify(mockHazardListen!.call(any)); });

我找到了解决方案,使用 mockito 可以在 flutter 空安全迁移之后创建模拟而不创建手动模拟。

Dart 的模拟库受 mockito 的启发。

Mocktail 专注于提供熟悉的、简单的 API 用于在 Dart(具有空值安全性)中创建模拟,而无需手动模拟或代码生成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM