如何在Flutter测试中使用--dart-define-from-file

rvpgvaaj  于 2023-06-19  发布在  Flutter
关注(0)|答案(1)|浏览(260)

这与How to use --dart-define in Flutter test不是同一个问题
使用Flutter 3.7版本,我在运行时使用flutter run --dart-define-from-file=config.json命令将config/env变量加载到Flutter应用程序中。对于测试,我如何确保测试配置文件在运行时加载?

ecfsfe2w

ecfsfe2w1#

您可以创建一个新的单独的配置文件(例如“test_config.json”),其中包含测试期间要加载的测试环境变量。

flutter test --dart-define-from-file=test_config.json

确保在应用中加载正确的配置文件。假设你使用的是flutter_config

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await FlutterConfig.loadEnvVariables();

  runApp(MyApp());
}

它确保在测试期间在运行时加载测试配置文件,允许使用所需的环境变量或配置进行测试。
此外,您可以使用flutter_config包中的loadValueForTesting加载模拟变量:

void main() {
  FlutterConfig.loadValueForTesting({'BASE_URL': 'https://www.mockurl.com'});
  
  test('mock http client test', () {
    final client = HttpClient(
      baseUrl: FlutterConfig.get('BASE_URL')
    );
  });
}

相关问题