2014-06-17 49 views
1

我想为我的课写一个unittest。首先,我安装package 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'; 

正如我所说的,我救了我的单元测试文件中的规范文件夹,我认为这是因为编译器找不到package unittest。
我的文件夹结构如下:
enter image description here

什么我错了吗?

回答

3

错误是由于您的spec文件夹中缺少packages符号链接引起的。 看到https://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'; 

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

+0

你能告诉我,我必须放置lib文件夹? –

+0

使'lib'成为'bin'和'test'('i18n/lib')的兄弟。另请参阅https://www.dartlang.org/tools/pub/package-layout.html –

相关问题