gpt4 book ai didi

dart - Mockito - 在空安全迁移后 stub 一个方法

转载 作者:行者123 更新时间:2023-12-03 23:38:47 25 4
gpt4 key购买 nike

在空安全之前,我可以简单地模拟 sendRequest(...) 这样的方法:

 void stubBaseRepositorySendRequestResponse(String response) {
when(baseRepository.sendRequest(onGetData: anyNamed('onGetData')))
.thenAnswer((_) {
return Future<String>.value(response);
});
}
这个方法的签名是:
Future<T> sendRequest<T>({required Future<T> Function() onGetData})
如何使用新的空安全版本的 mockito 做到这一点?
我还能保持这个 stub 的通用特性并允许传入任何参数吗?

最佳答案

这可以通过 mocktail 轻松完成.
更容易,没有 mockito 所需的代码生成。
首先导入mocktail很重要:

import 'package:mocktail/mocktail.dart';
然后创建一个我们想要模拟的类的模拟:
class MockBaseRepository extends Mock implements BaseRepository {}

void stubBaseRepositorySendRequestResponse(String response) {
when(() => baseRepository.sendRequest(
onGetData: any(named: 'onGetData', that: isNotNull))).thenAnswer((_) {
return Future<String>.value(response);
});
}

关于dart - Mockito - 在空安全迁移后 stub 一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67290520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com