diff --git a/packages/flutter_tools/lib/src/commands/test.dart b/packages/flutter_tools/lib/src/commands/test.dart index c1f3dc6dcb..709a89a337 100644 --- a/packages/flutter_tools/lib/src/commands/test.dart +++ b/packages/flutter_tools/lib/src/commands/test.dart @@ -315,7 +315,7 @@ class TestCommand extends FlutterCommand with DeviceBasedDevelopmentArtifacts { ); } - if (buildTestAssets && flutterProject.manifest.assets.isNotEmpty) { + if (buildTestAssets) { await _buildTestAsset(); } diff --git a/packages/flutter_tools/test/commands.shard/hermetic/test_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/test_test.dart index f0699a4b4d..3c059991eb 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/test_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/test_test.dart @@ -604,6 +604,47 @@ dev_dependencies: FakeDevice('ephemeral', 'ephemeral', ephemeral: true, isSupported: true, type: PlatformType.android), ]), }); + + testUsingContext('Builds the asset manifest by default', () async { + final FakeFlutterTestRunner testRunner = FakeFlutterTestRunner(0); + + final TestCommand testCommand = TestCommand(testRunner: testRunner); + final CommandRunner commandRunner = createTestCommandRunner(testCommand); + + await commandRunner.run(const [ + 'test', + '--no-pub', + ]); + + final bool fileExists = await fs.isFile('build/unit_test_assets/AssetManifest.json'); + expect(fileExists, true); + + }, overrides: { + FileSystem: () => fs, + ProcessManager: () => FakeProcessManager.any(), + DeviceManager: () => _FakeDeviceManager([]), + }); + + testUsingContext('Don\'t build the asset manifest if --no-test-assets if informed', () async { + final FakeFlutterTestRunner testRunner = FakeFlutterTestRunner(0); + + final TestCommand testCommand = TestCommand(testRunner: testRunner); + final CommandRunner commandRunner = createTestCommandRunner(testCommand); + + await commandRunner.run(const [ + 'test', + '--no-pub', + '--no-test-assets', + ]); + + final bool fileExists = await fs.isFile('build/unit_test_assets/AssetManifest.json'); + expect(fileExists, false); + + }, overrides: { + FileSystem: () => fs, + ProcessManager: () => FakeProcessManager.any(), + DeviceManager: () => _FakeDeviceManager([]), + }); } class FakeFlutterTestRunner implements FlutterTestRunner {