我应该在哪里把我的测试代码有关,它正在测试的代码?
-
19-09-2019 - |
题
这两个明显的地方我能想到的将是某种形式的“测试”文件夹旁边的我工作的代码。所以是这样的:
\project-code
\my-feature
\production-code
\testing
***my tests***
\co-workers-feature
\production-code
\testing
或者我可以打出测试代码一个完全独立的层次结构。所以是这样的:
\project-code
\my-feature
\co-workers-feature
\testing-project-code
\my-feature
***my tests***
\co-workers-feature
我已经看到了很多框架使用第二种方法,但最近我们已经把我们的测试代码的生产代码中大多是为了方便。是一种方法比其他的更好,还是有一个最好的做法在这里?
解决方案
其他提示
把它们放在那里是您最方便的。您可以设置您的构建系统从最终产品中取下,如果需要的话。测试是一个“最佳实践”。任何让测试更容易,而不会降低其有效性被简单地改善上是最佳实践。
我宁愿保持单元测试接近。我所看到的选项1工作做好。对于一个小项目,这两种方法将正常工作,但随着项目变得越来越大,这是很难找到和维护测试时,他们住在树上的一个非常不同的部分。如果他们靠近,当您更改产品代码改变他们的将是自然的。如果他们距离很远,它需要更多的心力,将被忽略了。这意味着更大的机会,他们将不同步。
请注意,要做到这一点,你需要使系统允许测试目录的条件编译。你不希望每次都构建它们。如果你不能得到的是,一个独立的树可能是必要的。
如果它是你再控制一个网站,它不伤害有它都在同一个文件夹中。如果你再释放其经典的软件,它往往是很好的做法,它单独作为2的情况下,这样你就不会意外造成任何膨胀,当你释放。
对于我来说,第一个选项更有意义,尤其是从一个SCM点:产品代码和测试代码是很好的保持同步(他们应该),如果你标签或分支项目,您标签或分支生产和在相同的时间的测试代码(因为他们应该)。
不隶属于 StackOverflow