Итак, я создал более простой уровень абстракции, чтобы использовать улей в моем приложении. Это должно быть центральным пунктом, где все ящики улья администрируются и доступны. Так как, например, getApplicationDocumentsDirectory недоступен во время тестирования, как мне все еще удается протестировать весь этот файл?
import 'package:boulder_fit/services/workout.dart';
import 'package:hive/hive.dart';
import 'package:path_provider/path_provider.dart' as path_rovider;
import 'workout.dart';
class HiveService {
static final HiveService _singleton = HiveService._internal();
static const String _workoutBox = "workoutBox";
factory HiveService() {
return _singleton;
}
HiveService._internal();
static Future<void> init() async {
final appDocumentDirectory =
await path_rovider.getApplicationDocumentsDirectory();
Hive.init(appDocumentDirectory.path);
Hive.registerAdapter(WorkoutAdapter());
}
static Future openWorkouts() {
return Hive.openBox<Workout>(_workoutBox);
}
static Future close() {
return Hive.close();
}
}