我创建了一个Loader类,用于加载包含名称的文本资产。在程序中使用时,它工作正常,但是当我尝试在测试中使用它时,出现错误Unable to load asset: assets/texts/names.txt
。
我的目录结构是
|- assets |- texts |- names.txt |- load_text |- load_text.dart |- loader.dart |- test |- asset_test.dart
我的pubspec.yaml中包含- assets/texts/names.txt
。
loader.dart
class Loader{
Future<String> loadNames() async{
return await rootBundle.loadString('assets/texts/names.txt');
}
}
load_text.dart
class ValidationApp extends StatelessWidget{
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'userDetApp',
home: Scaffold(
appBar: AppBar(title: Text('Load names'),),
body: Column(
children: <Widget>[
RaisedButton(
child: Text('Click'),
onPressed: (){
Loader().loadNames().then((names){
print(names);
});
},
)
],
)
),
);
} }
asset_test.dart
void main(){
test('Should load asset', () async{
String names = await new Loader().loadNames();
expect(names, 'John, Peter, Mary');
});
}
除无法找到资产的测试外,其他所有操作均正常。需要帮忙。谢谢!