golden_test_cached_network_image 1.0.0 copy "golden_test_cached_network_image: ^1.0.0" to clipboard
golden_test_cached_network_image: ^1.0.0 copied to clipboard

Makes CachedNetworkImage work in golden_test golden tests: serves a placeholder from an in-memory cache, with no SQLite or platform channels.

example/README.md

Example #

golden_test_cached_network_image is wired up once, in test/flutter_test_config.dart, and then every golden test in the project picks it up automatically.

// test/flutter_test_config.dart
import 'dart:async';

import 'package:golden_test/golden_test.dart';
import 'package:golden_test_cached_network_image/golden_test_cached_network_image.dart';

Future<void> testExecutable(FutureOr<void> Function() testMain) async {
  goldenTestSupportedLocales = [const Locale('en')];

  setupGoldenTestCachedNetworkImage();

  return testMain();
}

Golden tests then use CachedNetworkImage with no further setup — it resolves to the same placeholder golden_test serves for Image.network:

// test/avatar_test.dart
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:golden_test/golden_test.dart';

void main() {
  goldenTest(
    name: 'Avatar',
    builder: (_) => Scaffold(
      body: Center(
        child: CachedNetworkImage(
          imageUrl: 'https://example.com/avatar.png',
          width: 80,
          height: 80,
        ),
      ),
    ),
  );
}

To substitute your own cache manager — to serve different bytes per URL, or to assert on what was requested — pass a builder:

setupGoldenTestCachedNetworkImage(
  cacheManagerBuilder: () => MyGoldenCacheManager(),
);

A runnable version of this setup lives in the example/ app of the golden_test repository, whose golden tests cover Image.network, FadeInImage, DecorationImage and CachedNetworkImage side by side.

2
likes
160
points
73
downloads

Documentation

API reference

Publisher

verified publishergoldentest.dev

Weekly Downloads

Makes CachedNetworkImage work in golden_test golden tests: serves a placeholder from an in-memory cache, with no SQLite or platform channels.

Repository (GitHub)
View/report issues

Topics

#flutter #testing #golden-tests #ui-testing #snapshot-testing

License

BSD-3-Clause (license)

Dependencies

cached_network_image, file, flutter, flutter_cache_manager, golden_test

More

Packages that depend on golden_test_cached_network_image