为什么我们要为编程语言编写一个额外的测试文件夹,这些语言也可以在 src 文件夹中运行测试?



我想知道为什么在许多打字稿教程中,它也与测试有关,总是创建一个额外的测试文件夹?

直接在类旁边编写测试不是更容易吗,例如: (并非在每种语言中都可能,但我的意思是此示例仅适用于可能的语言,例如打字稿(

src/folder/
Class.*
Class.test.*

对于大型项目来说,这甚至更容易,因为您不必在 IDE 中向下滚动这么远即可进行测试,而是将其放在它旁边。

但是我经常看到测试文件夹总是像这样额外创建:

src/folder/
Class.*
test/folder/
Class.test.*

(最后,每个人都可以自己决定他想如何设计他的项目,但我无法将问题从我的脑海中移开(

如果可能的话,写下你如何组织你的测试,你是否对测试组织感到满意,以及你是否能够自己决定如何组织你的测试。

将测试和生产分开允许您单独编译和部署它们等。您真的不想将生产代码与测试代码混合在一起。 能够单独编译生产代码可确保它不依赖于任何测试代码。 能够单独部署生产代码至关重要;测试代码仅用于测试,由于多种原因,不应在生产中提供。例如:测试代码调用内部 API。部署此测试代码将公开内部 API。

不应将测试代码部署到生产环境。

将测试代码放在单独的目录中时,可以轻松地将 if 与生产代码分开。这使您能够仅部署生产代码。

为什么不部署测试代码?

  • 它增加了整个软件的大小。
  • 它增加了软件的表面积(API(,这意味着未来的维护开销更高(例如参见Hyrum定律(。
  • 它增加了整个软件的攻击面。

人们也许可以通过其他方式解决这些问题(例如条件编译(,但使用单独的目录是一个简单实用的解决方案。

相关内容

最新更新