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

标签 unit-testing dart dart-unittest

我正在尝试为我的类(class)编写单元测试。首先,我安装了 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。
我的文件夹结构如下所示:
enter image description here

我错了什么?

最佳答案

该错误是由缺少 packages 引起的。 spec 中的符号链接(symbolic link)文件夹。
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';

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

关于unit-testing - 编写 unittest 并保存在单独的文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24262568/

相关文章:

c++ - 如何在 Debug模式下绕过单元测试中的断言?

c++ - Visual Leak Detector 不适用于 VS2012 中的单元测试

dart - 等待我的类初始化(或者如何等待 Future 完成)?

dart - 如何使分析警告触发运行时失败

Dart 单元测试 - 总是通过

python - 如何检查元素是否在屏幕上完全可见?

python - 模拟位于 __init__.py 中的方法

dart - 从Webstorm打开Dart应用

flutter - flutter 具有多个floatActionButtons

dart - 单元测试 Http 状态代码