gpt4 book ai didi

unit-testing - 在 flutter 中测试 kIsWeb 常量

转载 作者:行者123 更新时间:2023-12-03 03:00:56 24 4
gpt4 key购买 nike

在我的代码中,我有一个 lookup方法:

查找.dart

Future<http.Response> httpLookup(String address) {
return kIsWeb
? _httpClient.get(address)
: _httpClient.get(
Uri.https(address, ''),
);
}

我如何测试 kIsWeb在单元测试期间保持不变?这是我迄今为止尝试过的,但覆盖范围并没有。

lookup_test.dart
@TestOn('browser')
void main (){
test('shoud test lookup', () {
InternetLookup lookup = InternetLookup();
when(mockInternetLookup.httpLookup(any))
.thenAnswer((realInvocation) async => http.Response('success', 200));
lookup.httpLookup('www.google.com');
});
}

最佳答案

您可以使用接口(interface)并模拟它。

abstract class IAppService {
bool getkIsWeb();
}

class AppService implements IAppService {
bool getkIsWeb() {
return kIsWeb;
}
}
在测试中,你必须使用 like as
class MockAppService extends Mock implements IAppService {}
...
when(appService.getkIsWeb())
.thenAnswer((realInvocation) => true);

关于unit-testing - 在 flutter 中测试 kIsWeb 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60334121/

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