我应该将源代码与源代码放在同一文件夹中吗?

时间:2019-03-11 14:48:03

标签: java testing package-structuring

java应用程序的默认已知结构为:

yearmon

我想举一个基本的例子。可以说有一个名为“图像”的模块,该模块负责创建数据库方案,具有用于存储图像的存储库,并提供使用此模块的服务。

我想在不同的项目中使用此模块,因此我刚刚创建了一个git子模块并将其添加到两个项目中。为了完成此任务,我还希望在该模块中移动测试,以便每次我构建一个项目时都执行测试。我不想在其中一个项目中管理测试。

有没有推荐的方法来处理这种问题?

1 个答案:

答案 0 :(得分:1)

通常,模块的测试存储在该模块中,但存储在tests文件夹中。这样一来,如果您更改模块的某些内部组件,则只需要对该模块运行测试。

比方说,您拥有模块A并使用该模块A作为依赖项的项目P1和P2。然后,应该将模块A的单元测试放在模块A的存储库中。在这种情况下,一旦模块A的构建成功完成,您就知道该模块可以正常工作。

如果您对项目P1中的模块A的代码进行了单元测试,那么您必须运行项目P1的构建才能测试模块A的构建。并且您可能还需要对另一个项目P2中的模块A运行代码的重复测试,因为如果有人从项目P1中删除了模块A(并且该代码的所有单元测试也将被删除),则该模块A将没有测试完全没有。