Unit testing 编写unittest并保存在单独的文件夹中
我正试图为我的班级写一个单元测试。首先,我安装unittest软件包并创建一个spec文件夹来保存我的所有unittest文件。然后,我创建了一个包含以下内容的测试dart文件: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:/
库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
)的兄弟。另见