我正在为我的班级写一个单元测试。首先,我安装包unittest并创建一个spec文件夹来保存我的所有unittest文件。然后我创建一个测试dart文件,其中包含以下内容:
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。
我的文件夹结构如下:
我错了什么?
答案 0 :(得分:3)
错误是由packages
文件夹中缺少spec
符号链接引起的。
见https://code.google.com/p/dart/issues/detail?id=16947
反正
单元测试应放入test
文件夹(i18n/test
)
这样,您的测试代码就不会包含在构建输出中。
最好将大部分代码放在lib
文件夹中,以便使用包导入轻松导入测试:
import 'package:i18n/my_dart_file.dart';
您仍然可以使用相对导入(例如
)从bin
或web
导入
import '../bin/my_dart_file.dart';
但这种形式不是非常重构的。