用CodeMagic摇动测试资源

时间:2019-03-15 15:08:56

标签: testing flutter continuous-integration

我想在我的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)

1 个答案:

答案 0 :(得分:0)

这与`flutter test` sets current directory differently depending on how test was executed有关。 apaatsio in the first comment提供的解决方案对我有用。

因此,例如,您可以拥有以下内容:

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');