加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

颤动:如何加载文件进行测试

发布时间:2020-12-14 14:52:19 所属栏目:百科 来源:网络整理
导读:可以从相对于dart脚本文件的目录中读取文件,就像var file = new File(‘./ fixture / contacts.json’)一样. 但是文件无法读取在IDE内运行的颤动测试. Loading as resource(它不是,因为我不想在应用程序中捆绑测试数据文件)也不能在测试中工作. 在flutter中
可以从相对于dart脚本文件的目录中读取文件,就像var file = new File(‘./ fixture / contacts.json’)一样.

但是文件无法读取在IDE内运行的颤动测试.

Loading as resource(它不是,因为我不想在应用程序中捆绑测试数据文件)也不能在测试中工作.

在flutter中读取文件的好方法是什么(对于命令行测试和IDE测试)?

运行颤振测试非常快.但是,Intellij IDE内部的测试速度很慢,但它可以设置调试断点并进入并查看变量.所以这两种测试都非常有用.

解决方法

刚刚开始,这比你想象的要容易.

首先,创建一个与测试位于同一目录中的文件夹.例如,我创建了一个名为test_resources的文件夹.

Test resources folder structure.

然后,假设我们有以下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');
  });
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读