【发布时间】:2018-06-21 00:01:39
【问题描述】:
我正在尝试从 Flutter 小部件测试中发出 HTTP 请求,但由于某种原因,小部件测试总是在 5 秒后超时,而在单元测试中它工作得非常好。
import 'package:flutter_test/flutter_test.dart';
import 'dart:io';
import 'dart:convert';
void main() {
test('http unit-test works', () async {
var httpClient = new HttpClient();
var request = await httpClient.getUrl(Uri.parse('https://api.ipify.org/'));
var response = await request.close();
var responseBody = await response.transform(UTF8.decoder).join();
print('BODY: $responseBody');
});
testWidgets('http widget-test does not work', (WidgetTester tester) async {
var httpClient = new HttpClient();
var request = await httpClient.getUrl(Uri.parse('https://api.ipify.org/'));
var response = await request.close();
var responseBody = await response.transform(UTF8.decoder).join();
print('BODY: $responseBody');
});
}
flutter 测试环境是否在这里吃掉了我的 HTTP 请求?我怎样才能防止它这样做?
【问题讨论】:
-
为什么要在测试中发出 HTTP 请求?你不想嘲笑它吗?
-
当然。但问题是我的应用程序/测试在尝试访问本地 mock-http-server 时超时。
-
@QuirijnGB 如果我的服务器中有单独的 live 和 mock 环境,我想在 Flutter 测试期间使用 mock 环境怎么办?
标签: dart flutter flutter-test