Mik*_*ith 1 flutter bloc bloc-test
我有一个 flutter bloc_test,由于最近 Flutter 的升级涉及 null 安全性,该测试失败了。
我有以下代码
blocTest('get the usecase name',
build: () {
when(() => mockGetUseCaseName(any()))
.thenAnswer((_) async => Right(name));
return bloc;
},
act: (bloc) => bloc.add(GetUseCaseName(name)),
verify: (_) => verify(
() => mockGetUseCaseName(Params(string: name))));
Run Code Online (Sandbox Code Playgroud)
我在“bloc.add”行上收到错误
“无法无条件调用方法‘add’,因为接收者可能为‘null’”
有任何想法吗?
最正确的解决方案是使数据类型显式化
前:
blocTest('get the usecase name',
build: () {
when(() => mockGetUseCaseName(any()))
.thenAnswer((_) async => Right(name));
return bloc;
},
act: (bloc) => bloc.add(GetUseCaseName(name)),
verify: (_) => verify(
() => mockGetUseCaseName(Params(string: name))));
Run Code Online (Sandbox Code Playgroud)
后:
blocTest<ClassBloc, ClassState>('get the usecase name',
build: () {
when(() => mockGetUseCaseName(any()))
.thenAnswer((_) async => Right(name));
return bloc;
},
act: (bloc) => bloc.add(GetUseCaseName(name)),
verify: (_) => verify(
() => mockGetUseCaseName(Params(string: name))));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
730 次 |
| 最近记录: |