Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 编写unittest并保存在单独的文件夹中_Unit Testing_Dart_Dart Unittest - Fatal编程技术网

Unit testing 编写unittest并保存在单独的文件夹中

Unit testing 编写unittest并保存在单独的文件夹中,unit-testing,dart,dart-unittest,Unit Testing,Dart,Dart Unittest,我正试图为我的班级写一个单元测试。首先,我安装unittest软件包并创建一个spec文件夹来保存我的所有unittest文件。然后,我创建了一个包含以下内容的测试dart文件: 库i18n_测试; 导入“包:unittest/unittest.dart”; void main(){ } 当我运行该文件时,我得到了以下错误 Unable to open file: D:\Dart\i18n\bin\spec\packages\unittest\unittest.dart'file:///D:/

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

库i18n_测试;
导入“包: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包。
我的文件夹结构看起来像:


我做错了什么?

该错误是由您的
spec
文件夹中缺少
packages
symlink引起的。 看

无论如何
单元测试应放入
test
文件夹(
i18n/test
)。
这样,您的测试代码就不会包含在生成输出中

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

import'包:i18n/my_dart_file.dart';
您应该仍然能够使用相对导入从
bin
web
导入,如

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

但是这个表单对重构不是很友好。

你能告诉我,我必须把lib文件夹放在哪里吗?让
lib
成为
bin
test
i18n/lib
)的兄弟。另见