gpt4 book ai didi

java - 多模块项目中测试类的正确位置是什么?

转载 作者:行者123 更新时间:2023-12-02 12:07:16 25 4
gpt4 key购买 nike

这是我的总体目标:我想要一个 Spring Boot REST API。最终,这将有一个 Angular 前端。 REST API 将具有许多 JPA 实体。我需要能够在 Jasper Reports Server 以及我的 REST API 中使用这些实体。为此,我认为最好的方法是多模块 Maven 项目。我的设置将如下所示:

- Project
--Web App
--Utilities
--HumanResources
--Sales
--etc.

其中 Web 应用程序、实用程序、人力资源、销售等是模块。我可以在 Web 应用程序中使用实用程序,但构建还将生成一个单独的 jar,我可以在 Jasper 中使用它(至少这是我的希望)。

理想情况下,我只想为 Spring Boot 创建一个 application.properties 文件。但是,据我所知,如果我将 application.properties 文件放在 Web 应用程序模块中,那么我对实用程序、销售等的所有单元测试(至少是任何需要数据库连接的测试)都需要在 Web 中应用程序。这看起来也不理想,但如果我将所有测试放在自己的模块中,似乎每个模块中都需要一个 application.properties 文件,这也看起来令人困惑。

我的方法有效吗,或者有更好的方法吗?如何在每个模块上进行测试,同时仍然以简单的方式将所有内容捆绑在一起?

谢谢!

最佳答案

首先,每个模块应该有自己的测试类,以便将测试类保持在它们测试的代码的同一模块中。将测试类放在另一个模块中将是一个非常糟糕的主意。事实上,如果您修改模块中的某些内容破坏了测试,但您忘记了测试类放置在哪个模块中,会发生什么情况?除非您编译其他模块,否则您在编译时不会收到任何通知。

其次,如果您需要通用的配置/文件/类,您可以将它们全部放在一个通用模块中,该模块将保存需要在模块之间共享的所有内容,而无需重复它们。因此每个模块都会将公共(public)模块声明为依赖项。

关于java - 多模块项目中测试类的正确位置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46814106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com