Flutter集成测试-如何加载JSON文件?

时间:2019-03-29 11:00:02

标签: flutter flutter-test

我正在用模拟客户端编写Flutter集成测试,该客户端针对我的应用程序调用的每个REST端点返回JSON响应。 这些JSON响应存储在单独的JSON文件中,但是在测试运行时我无法访问这些文件。

我尝试通过创建和读取新文件对象来加载文件。 Flutter: how to load file for testing,但找不到文件。 我还尝试将JSON文件放入资产中。这行得通,但也导致我构建APK时捆绑了测试JSON文件。

简化的模拟客户端:

MockClient integrationMockClient = MockClient((request) async {
  switch (request.url.toString()) {
    case 'https://staging.company.com/api/123':
      return Response(readJsonfile('myJsonFile.json'), 200);

简化的集成测试主要功能-将模拟客户端传入。test_driver/app.dart

void main() async {
  enableFlutterDriverExtension();
  final app = await initializeApp(
    integrationMockClient
  );
  runApp(app);
}

当我尝试读取文件时,它永远找不到。可能是因为flutterDriver运行了“真实应用程序”,无法访问测试目录中存储的文件。

如何从集成测试访问JSON文件而不将其捆绑在生产代码/ APK中?

谢谢!

0 个答案:

没有答案