1

我正在尝试为我的班级编写单元测试。首先,我安装了 unittest 包并创建了一个 spec 文件夹来保存我所有的 unittest 文件。然后我创建一个包含以下内容的测试飞镖文件:

library i18n_test;

import 'package:unittest/unittest.dart';

void main() {


}

当我运行文件时,出现以下错误

Unable to open file: D:\Dart\i18n\bin\spec\packages\unittest\unittest.dart'file:///D:/Dart/i18n/bin/spec/i18n_test.dart': error: line 3 pos 1: library handler failed
import 'package:unittest/unittest.dart';

正如我所提到的,我将我的 unittest 文件保存在 spec 文件夹中,我认为这是因为编译器找不到包 unittest。
我的文件夹结构如下所示:
在此处输入图像描述

我错了什么?

4

1 回答 1

3

该错误是由您的文件夹packages中缺少符号链接引起的。spechttps://code.google.com/p/dart/issues/detail?id=16947

无论如何
,单元测试都应该放在test文件夹 ( i18n/test) 中。
这样,您的测试代码将不会包含在构建输出中。

最好将大部分代码放在lib文件夹中,以便使用包导入轻松导入测试,例如:

import 'package:i18n/my_dart_file.dart';

您仍然应该能够从binweb使用相对导入,例如

import '../bin/my_dart_file.dart';

但这种形式对重构不是很友好。

于 2014-06-17T11:30:46.617 回答