Java 如何组织单元和集成测试?

Java 如何组织单元和集成测试?,java,eclipse,unit-testing,junit,integration-testing,Java,Eclipse,Unit Testing,Junit,Integration Testing,我有一个eclipse(而不是maven)项目,其中我将代码组织在两个源文件夹中:src和test。 testfolder的层次结构与src是并行的,以便轻松查找类并保持组织。 现在,我在谈论我的单元测试。我也想将单元测试与集成测试分开,但我不确定这样做的最佳方式是什么。 也许我应该为集成测试准备另一个源文件夹?或者它应该在测试源文件夹中的一个单独的包中? 我会很高兴听到你是怎么做的,提前谢谢你 你的直觉很好:另一个源文件夹可能是最好的选择。通常人们把它命名为:it,testintegratio

我有一个eclipse(而不是maven)项目,其中我将代码组织在两个源文件夹中:src和test。 testfolder的层次结构与src是并行的,以便轻松查找类并保持组织。 现在,我在谈论我的单元测试。我也想将单元测试与集成测试分开,但我不确定这样做的最佳方式是什么。 也许我应该为集成测试准备另一个源文件夹?或者它应该在测试源文件夹中的一个单独的包中?
我会很高兴听到你是怎么做的,提前谢谢你

你的直觉很好:另一个源文件夹可能是最好的选择。通常人们把它命名为:
it
testintegration
testit
integrationtest

如果您使用Maven作为构建工具,这可以通过
buildhelperMaven插件
实现。如果没有,只需在IDE中手动添加另一个源文件夹。

个人意见(因为这里都是关于个人偏好的)是:针对不同测试级别的单独包

src/ //source folder
...
test/ // source folder
    test/ //packages
        integration/
        unit/
    tools/
我个人停止维护测试类的源代码包层次结构,因为我发现重构源代码时成本非常高


我还使用JUnit类别以一种可见的方式清晰地划分测试级别

这个问题可能会因为过于宽泛而结束。还记得当你提出这个问题时屏幕右侧的提示吗?“我们更喜欢可以回答的问题,而不仅仅是讨论的问题。”尽管如此,我并不认为你的问题质量低下。为了让这个问题和其他类似的问题更容易回答,请详细说明你过去是如何选择完成这项任务的,如果可能的话,谈谈你可以想象的其他方法。然后,您可以询问这些方法中哪一种是最好的,或者最符合逻辑的,或者哪一种最符合约定。现在你的问题肯定可以回答了。即使你没有列出完成任务的最佳或正确方式,也肯定会有人谈论它,讨论它以及你的方法。干杯如果您不受所使用工具的约束,这是个人偏好的问题,而不是客观事实。