[英]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.