Unit testing 我应该把lib测试放在哪里

Unit testing 我应该把lib测试放在哪里,unit-testing,dart,Unit Testing,Dart,请注意,我已经阅读了 在我的lib目录中,我通常有一些库可以提取到它们自己的包中。通常代码不够完整,或者/或者我想等待一个新的包,直到我真的想在另一个项目中重用代码 我真的想把单元测试代码、示例和文档放在同一个目录中 例如: 假设我在lib→ 库/字符串帮助程序 我想把我的测试、示例和文档放在lib/string-helper/tests、lib/string-helper/examples和lib/string-helper/doc中 但是布局约定要求我将它们放在lib目录之外 这使得不必要地

请注意,我已经阅读了

在我的
lib
目录中,我通常有一些库可以提取到它们自己的包中。通常代码不够完整,或者/或者我想等待一个新的包,直到我真的想在另一个项目中重用代码

我真的想把单元测试代码、示例和文档放在同一个目录中

例如: 假设我在
lib
→ <代码>库/字符串帮助程序
我想把我的测试、示例和文档放在
lib/string-helper/tests
lib/string-helper/examples
lib/string-helper/doc

但是布局约定要求我将它们放在lib目录之外

这使得不必要地难以将其提取到自己的包中。(
pub-serve
甚至陷入了无休止的循环,因为我忽略了这一点,并制作了自己的
package
符号链接)


你如何处理这个问题?

测试的唯一有效位置是
my_package/test
目录或
test
的任何子目录,即使你的答案是正确的,毕竟,这正是布局惯例所说的,它没有多大帮助。我不知道该建议什么。我认为
lib
是所有可能的测试中最糟糕的地方。如果你不能把它们放在
库中
我认为没有任何理由不把它们放在
测试中。如果你把它们放到
lib
中,它是用JavaScript构建的,这会增加大小(不过可能会被树摇动)。它还提供给作为依赖项添加包的用户。我必须承认,我不理解你在提取到他们自己的包裹时遇到的问题。你可以在
test
中有一个目录结构,镜像
lib
中的结构(不知道这是否有帮助)对不起,按enter键并想添加更多的文本:我想我的问题应该更清楚:如何避免“糟糕”的布局和不必要的工作,即使测试的唯一有效位置是
my\u package/test
。显然(这与你的答案无关)没有人真的在乎,所以我会接受这个答案,不会对此进行太多的争论。(尽管我仍然认为我们遵循的是一个糟糕的惯例)例如,我也喜欢
Go
如何将测试与它们测试的代码放在同一目录中,但在Dart中,这种布局不受支持,如果您尝试,它只会给您带来麻烦。我希望得到这样的答案:«将测试放在
lib/my_package/tests
中,让
tests/all_测试。Dart
找到这些测试(可能使用镜子…)是一种常见做法。。。在测试中复制目录层次结构是个坏主意,因为如果重命名某个LIB,层次结构可能会不同步…»IMO测试甚至应该允许与代码在同一文件中。这不应增加JavaScript的代码大小(因为dart2dart编译步骤甚至不适用于dart)。