可以从相对于dart脚本文件的目录中读取文件,就像var file = new File(‘./ fixture / contacts.json’)一样.
但是文件无法读取在IDE内运行的颤动测试.
Loading as resource(它不是,因为我不想在应用程序中捆绑测试数据文件)也不能在测试中工作.
在flutter中读取文件的好方法是什么(对于命令行测试和IDE测试)?
运行颤振测试非常快.但是,Intellij IDE内部的测试速度很慢,但它可以设置调试断点并进入并查看变量.所以这两种测试都非常有用.
解决方法
刚刚开始,这比你想象的要容易.
首先,创建一个与测试位于同一目录中的文件夹.例如,我创建了一个名为test_resources的文件夹.
然后,假设我们有以下JSON文件用于测试目的.
test_resources / contacts.json
{ "contacts": [ { "id": 1,"name": "Seth Ladd" },{ "id": 2,"name": "Eric Seidel" } ] }
测试/ load_file_test.dart
我们可以将它用于我们的测试,如下所示:
import 'dart:convert'; import 'dart:io'; import 'package:flutter_test/flutter_test.dart'; void main() { test('Load a file',() async { final file = new File('test_resources/contacts.json'); final json = JSON.decode(await file.readAsString()); final contacts = json['contacts']; final seth = contacts.first; expect(seth['id'],1); expect(seth['name'],'Seth Ladd'); final eric = contacts.last; expect(eric['id'],2); expect(eric['name'],'Eric Seidel'); }); }