-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work lista: assetsPackaging, accessing, or using assetsPackaging, accessing, or using assetshas reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work ontoolAffects the "flutter" command-line tool. See also t: labels.Affects the "flutter" command-line tool. See also t: labels.
Description
Is there an existing issue for this?
- I have searched the existing issues
- I have read the guide to filing a bug
Steps to reproduce
Not entirely sure what I did that caused this, and thus how to reproduce it. What I can for sure is,
- I upgraded to Flutter 3.10.1
- I have an assets directory in the root of my project
- The assets directory is connected to the app via my pubspec.yaml file like so:
assets:
- assets/
- Running the app and navigating to the screen that uses these assets (images) works correctly
- Running Widget tests which navigate to screen that use these assets fail.
Expected results
Tests should pass.
Actual results
Tests fail with error:
══╡ EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE ╞════════════════════════════════════════════════════
The following assertion was thrown while resolving an image:
Unable to load asset: "AssetManifest.smcbin".
The asset does not exist or has empty data.
When the exception was thrown, this was the stack:
#0 PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:336:7)
#1 CachingAssetBundle.loadStructuredBinaryData (package:flutter/src/services/asset_bundle.dart:272:5)
#2 AssetManifest.loadFromAssetBundle (package:flutter/src/services/asset_manifest.dart:19:19)
#3 AssetImage.obtainKey (package:flutter/src/painting/image_resolution.dart:284:19)
#4 ScrollAwareImageProvider.obtainKey (package:flutter/src/widgets/scroll_aware_image_provider.dart:118:74)
#5 ImageProvider._createErrorHandlerAndKey (package:flutter/src/painting/image_provider.dart:480:13)
#6 ImageProvider.resolve (package:flutter/src/painting/image_provider.dart:371:5)
#7 _ImageState._resolveImage (package:flutter/src/widgets/image.dart:1111:16)
#8 _ImageState.didChangeDependencies (package:flutter/src/widgets/image.dart:1061:5)
#9 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5237:11)
#10 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5062:5)
... Normal element mounting (7 frames)
#17 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16)
#18 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6570:36)
#19 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6582:32)
... Normal element mounting (40 frames)
#59 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16)
#60 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6570:36)
#61 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6582:32)
... Normal element mounting (105 frames)
#166 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16)
#167 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6570:36)
#168 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6582:32)
... Normal element mounting (228 frames)
#396 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16)
#397 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6570:36)
#398 Element.updateChild (package:flutter/src/widgets/framework.dart:3708:18)
#399 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:6153:32)
#400 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6595:17)
#401 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#402 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#403 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#404 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#405 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#406 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#407 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#408 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#409 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#410 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#411 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#412 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#413 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#414 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#415 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#416 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#417 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#418 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#419 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#420 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#421 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#422 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#423 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#424 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#425 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#426 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#427 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#428 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#429 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#430 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#431 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#432 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#433 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#434 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#435 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#436 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#437 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#438 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#439 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#440 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#441 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#442 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#443 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#444 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#445 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#446 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#447 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2780:19)
#448 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1386:19)
#449 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:358:5)
#450 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1284:15)
#451 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1214:9)
#452 AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1236:9)
#455 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:68:41)
#456 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1222:27)
#457 WidgetTester.pumpAndSettle.<anonymous closure> (package:flutter_test/src/widget_tester.dart:709:23)
#460 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:68:41)
#461 WidgetTester.pumpAndSettle (package:flutter_test/src/widget_tester.dart:702:27)
#462 main.<anonymous closure> (file:///Users/garrettlove/Development/leifer/apps/mobile/test/widget_test/user_dispatch_screen_test.dart:287:18)
<asynchronous suspension>
<asynchronous suspension>
(elided 5 frames from dart:async and package:stack_trace)
Image provider: ScrollAwareImageProvider<Object>()
Image configuration: ImageConfiguration(bundle: PlatformAssetBundle#695da(), devicePixelRatio: 3.0,
locale: en_US, textDirection: TextDirection.ltr, platform: android)
════════════════════════════════════════════════════════════════════════════════════════════════════
Test failed. See exception logs above.
Code sample
Code sample
testWidgets('Tapping the "Delete Account" button, then "Yes" button, deletes the user\'s account and navigates to the Welcome screen', (WidgetTester tester) async {
Environment().initConfig("SANDBOX");
final mockObserver = MockNavigatorObserver();
final mockAuthRepo = MockAuthRepository(firebaseAuth: mockAuth);
final mockMetricsRepo = MockMetricsRepository();
final firestore = FakeFirebaseFirestore();
await tester.pumpWidget(ProviderScope(
overrides: [
authRepostoryProvider.overrideWith((ref) {
return mockAuthRepo;
}),
firestoreProvider.overrideWith((ref) {
return firestore;
}),
metricsProvider.overrideWith((ref) {
return mockMetricsRepo;
}),
],
child: MaterialApp(
routes: {
'/welcome': (context) => const WelcomeScreen(),
},
home: const UserDispatchScreen(),
navigatorObservers: [mockObserver],
),
));
final deleteAccountFinder = find.text("Delete Account");
await tester.scrollUntilVisible(deleteAccountFinder, 1.0);
expect(deleteAccountFinder, findsOneWidget);
await tester.tap(deleteAccountFinder);
await tester.pumpAndSettle();
final yesButtonFinder = find.text("Yes");
await tester.tap(yesButtonFinder);
await tester.pumpAndSettle();
expect(find.byType(WelcomeScreen), findsOneWidget);
});Screenshots or Video
No response
Logs
No response
Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.10.1, on macOS 13.4 22F66 darwin-arm64, locale en-US)
• Flutter version 3.10.1 on channel stable at /Users/garrettlove/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision d3d8effc68 (5 days ago), 2023-05-16 17:59:05 -0700
• Engine revision b4fb11214d
• Dart version 3.0.1
• DevTools version 2.23.1
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, please use
`flutter config --android-sdk` to update to that location.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14E222b
• CocoaPods version 1.12.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
[✓] VS Code (version 1.78.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.64.0
[✓] Connected device (3 available)
• iPhone 14 Pro Max (mobile) • 861DBD81-1790-42F6-9AE9-1690B0A960B9 • ios •
com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
• macOS (desktop) • macos • darwin-arm64 • macOS 13.4 22F66 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 113.0.5672.126
[✓] Network resources
• All expected network resources are available.
! Doctor found issues in 2 categories.remonh87 and mathibarre
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work lista: assetsPackaging, accessing, or using assetsPackaging, accessing, or using assetshas reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work ontoolAffects the "flutter" command-line tool. See also t: labels.Affects the "flutter" command-line tool. See also t: labels.