我的Dart包目前按以下方式列出:
lib/
mypackage.dart
src/
mypackage_util.dart
test/
mypackage_test.dart
在mypackage.dart
内,我正在使用part
,part of
导入策略
mypackage_util.dart
中的mypackage.dart
,as recommended by the Pub Layout
conventions。
在测试方面,我从Seth Ladd's example of using unittest获取灵感, 这表明他为他的测试创建了一个新的库,这对我来说很有意义。
不幸的是,这导致无法导入mypackage_util.dart
mypackage_test.dart
,这意味着我无法测试类或函数
mypackage_util.dart
或src/
中的任何内容。
我想象的解决方案是
让mypackage_test.dart
成为主库的一部分,但这似乎有用
不可能单独运行测试代码。
从mypackage_util.dart
中取出src/
,但这似乎意味着你
永远不能在包中单独测试src/
代码,这似乎很愚蠢并暴露出来
代码我不想。
我应该采取上述方法之一,还是我错过了什么?
更新
上述情况是由于库导入冲突造成的(有关库冲突的解决方案,请参阅Chapter 2. Dart Tour's Libraries and Visibility section)。 See comments below
答案 0 :(得分:2)
如果lib/mypackage.dart
声明了库并使用lib/src/mypackage_util.dart
包含part/part of
,您只需在测试中包含lib/mypackage.dart
- 或者您想要测试私有类的问题/ lib/src/mypackage_util.dart
中包含的函数?