rootBundle在应用程序中运行良好,但在测试中会抛出异常ERROR:无法加载资产:assets / config / prod.json
configuration.dart
import 'dart:convert';
import 'package:flutter/services.dart' show rootBundle;
class Configuration {
final Map<String, String> _config = {};
String get(String key) {
return _config[key];
}
Future<void> load() async {
_config.clear();
final configString = await rootBundle.loadString('assets/config/prod.json');
final configJson = jsonDecode(configString) as Map<String, dynamic>;
_config.addAll(Map.castFrom<String, dynamic, String, String>(configJson));
}
}
configuration_test.dart
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:my_app/data/models/configuration.dart';
void main() {
setUpAll(() {
WidgetsFlutterBinding.ensureInitialized();
});
test('should load configuration', () async {
final config = Configuration();
await config.load();
expect(config.get('client_id'), 'client_id');
});
}
pubspec.yaml
...
dev_dependencies:
...
flutter_test:
sdk: flutter
flutter:
assets:
- assets/config/
...
我做错了什么?