Repository: flutter
Issue: Integration test asset images configuration
Labels: a: tests,c: new feature,tool,framework,a: images,c: proposal,f: integration_test,P3,team-framework,triaged-framework

## Use case

Hello,

Currently I'm doing integration testing which mock image file retrieved from camera (see `MockImagePickerService`).

```
class MockImagePickerService implements ImagePickerService {
  final AsyncValueGetter<File> pickImageFromCameraFunction;


  MockImagePickerService(
      {this.pickImageFromCameraFunction});

  @override
  Future<File> pickImageFromCamera() {
    if (pickImageFromCameraFunction == null) {
      return null;
    }
    return pickImageFromCameraFunction();
  }
}
```

example app_test.dart file for testing

```
void main() async {
  IntegrationTestWidgetsFlutterBinding.ensureInitialized();

  testWidgets("test pick image", (WidgetTester tester) async {
    final cacheDirPath = (await getTemporaryDirectory()).path;
    final image1Path = 'integration_test/images/image1.jpg';
    File testImage1File = File("$cacheDirPath/$image1Path");

//--------------------Load App here..... and mock service
runApp(app.MyApp(
      imagePickerServiceProvider:
          Provider<ImagePickerService>(create: (context) {
        return MockImagePickerService(
          pickImageFromGalleryFunction: () async {
            return Future.value(testImage1File);
          },
        );
      }),
    ))
    await tester.pumpAndSettle();

    // prepare images after main app is loaded
// this will copy the sample asset image to the cache file and returned by mock image picker
    var byteData = await rootBundle.load("assets/images/debug/image1.jpg");
    testImage1File.createSync(recursive: true);
    await testImage1File.writeAsBytes(byteData.buffer.asInt8List());

// test trigger camera button on app ---here
// it return the file from the cache file as expected
// do something with the file and save/copy it......

  });
}
```

My `pubspec.yaml` configuration for the asset
```
dev_dependencies:
  integration_test:
    sdk: flutter
  flutter_test:
    sdk: flutter
  flutter_driver:
    sdk: flutter
  test: any
flutter:
  assets:
    - assets/images/debug/image1.jpg
```

`flutter doctor --verbose`
```
[✓] Flutter (Channel stable, 2.0.2, on Linux, locale en_US.UTF-8)
    • Flutter version 2.0.2 at /home/rubyh/Flutter/flutter
    • Framework revision 8962f6dc68 (2 weeks ago), 2021-03-11 13:22:20 -0800
    • Engine revision 5d8bf811b3
    • Dart version 2.12.1

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /home/rubyh/Android/Sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /home/rubyh/Android/Sdk
    • ANDROID_SDK_ROOT = /home/rubyh/Android/Sdk
    • Java binary at: /usr/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04)
    • All Android licenses accepted.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[!] 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/linux#android-setup for detailed instructions).

[✓] Connected device (1 available)
    • Android SDK built for x86 64 (mobile) • emulator-5554 • android-x64 • Android 5.0.2 (API 21) (emulator)

```

## Proposal

I believe the above use case work as I need. The only issue is that the asset image `assets/images/debug/image1.jpg` is exported to my release bundle. This asset image is strictly used for my integration test only and I do not want it to be exported to my release bundle.

Ideally some thing like this would be nice to have in `pubspec.yaml`:
```
flutter:
  assets: # included in both debug and release build
    - assets/images/image1.jpg
  assets-debug: # include in debug build only
    - assets/images/debug/image1.jpg
  assets-release: # included in release build only
    - assets/images/release/image1.jpg
```