Injeczone is a simple and lightweight dependency injection library for Dart that allows you to override dependencies via your type.
Internally Injectzone uses zones and the zoneValues
attribute to create or return injected dependencies.
To use this package, add injectzone as a dependency in your pubspec.yaml file.
- Inject
T
dependency frombuilder
function:
final deviceInfo = Injectzone().inject(() => DeviceInfoPlugin());
/// Note: [DeviceInfoPlugin] is a third party dependency
- Override
T
dependency with mock byValueInjector
duringcallback
execution:
await Injectzone().withInjected([
ValueInjector.inject<DeviceInfoPlugin>(mockDeviceInfoPlugin),
], () {
///... my test code
});
Please file feature requests and bugs at the issue tracker.