【发布时间】:2018-09-03 22:13:36
【问题描述】:
不确定是限制还是什么,但下面的代码没有加载任何东西。我有一些数据驱动的行为,我想单独测试。
类加载器
import 'dart:async';
import 'package:flutter/services.dart' show rootBundle;
class Loader {
Future<String> load() async{
return await rootBundle.loadString('assets/json/sketch.json');
}
}
测试
testWidgets('Should parse load sketch.json', (WidgetTester tester) async {
var loaderFuture = new Loader();
Future<String> resultFuture = loaderFuture.load();
resultFuture.then((value) => print(value))
.catchError((error) => print(error));
while(true){};
});
Future 既不返回成功也不返回错误,并且永远挂起。我知道 while(true) 锁定了测试,但现在我只想看看 sketch.json 打印出来
资产位置
【问题讨论】:
-
你能试试
rootBundle.loadString('packages/my_app/assets/json/sketch.json');,其中my_app来自pubspec.yaml中的name: ...? -
同样的结果。没有任何东西被打印出来。 name: flutter_generator_demo 路径类似于 return await rootBundle.loadString('packages/flutter_generator_demo/assets/json/sketch.json'); 。重要的是我可以在运行应用程序时加载它
-
我认为这已经解决了。可以试试最近的
dev或master吗?
标签: flutter flutter-test