这两个明显的地方我能想到的将是某种形式的“测试”文件夹旁边的我工作的代码。所以是这样的:

\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点:产品代码和测试代码是很好的保持同步(他们应该),如果你标签或分支项目,您标签或分支生产和在相同的时间的测试代码(因为他们应该)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top