0

我想在 Flutter 测试中使用 JSON 文件来模拟 HTTP 响应。在 gitlab CI 上,测试通过了。局部也。但是在 codemagic.io 上有一个错误:

FileSystemException: Cannot open file, path = 'test_resources/mock_response.json' (OS Error: No such file or directory, errno = 2)

4

1 回答 1

1

这与`flutter test` 根据测试的执行方式不同地设置当前目录有关apaatsio 在第一条评论中提供的解决方案对我有用。

所以例如你可以有这样的东西:

import 'dart:io';
import 'package:path/path.dart';

String loadResource(String name) => File("$_testDirectory/test_resources/$name").readAsStringSync();

// From https://github.com/flutter/flutter/issues/20907#issuecomment-466185328
final _testDirectory = join(
  Directory.current.path,
  Directory.current.path.endsWith('test') ? '' : 'test',
);

然后使用它:

final mockResponse = loadResource('mock_response.json');
于 2019-09-30T07:59:00.313 回答