Maven Spring项目-在不';不包括网页
Application-context.xml位于web模块中 pomMaven Spring项目-在不';不包括网页,spring,testing,maven,junit,Spring,Testing,Maven,Junit,Application-context.xml位于web模块中 pom -用户 -具有业务逻辑和DAO的各种其他模块 -web只依赖于服务层。只和你的朋友说话。 Web将用户作为依赖项。我(不应该)不能让依赖关系改变方向,因为它是循环的,所以如何使用web中的应用程序上下文进行测试 我是: 1.是否复制数据源信息的应用程序上下文?(代码气味) 2.是否将DB应用程序上下文放在依赖项链底部的hibernate依赖项项目中? 三,。还有别的答案吗 2号似乎是最好的选择。当所有的东西都在一个服务模块中
-用户
-具有业务逻辑和DAO的各种其他模块
-web只依赖于服务层。只和你的朋友说话。
Web将用户作为依赖项。我(不应该)不能让依赖关系改变方向,因为它是循环的,所以如何使用web中的应用程序上下文进行测试 我是:
1.是否复制数据源信息的应用程序上下文?(代码气味)
2.是否将DB应用程序上下文放在依赖项链底部的hibernate依赖项项目中?
三,。还有别的答案吗 2号似乎是最好的选择。当所有的东西都在一个服务模块中时,我让测试工作正常,但我正试图变得更加模块化,所以我将特定于用户的服务重构为一个单独的模块 谢谢你的建议。 实际上,我选择在web和模块之间添加一个称为服务的层,而不是在模块层中添加服务。我不认为这是典型的,但它提供了更好的信息隐藏,并有助于强制执行打开/关闭。它与这个场景无关,所以我没有包括它 工具:
- 智能J 11
- 朱尼特
- 马文2
- 冬眠3
- 春天3
- MySql5.5
要理解这背后的原因,请扪心自问:我的应用程序的web部分需要数据库还是后端需要数据库?我最终在单元和web之间使用了一个服务模块来存储数据库上下文。Web依赖于它,Web级别的应用程序上下文和测试一样包括该模块上下文。我正在该层上进行服务级别集成测试。单元测试将使用模拟对象或hql来消除单元本身之外的任何东西。Ok。但是如果也有一个文章模块会怎么样(我应该澄清一下,会有很多模块需要数据库)然后,我猜在重构演讲中,我想按照我的问题中的第二个问题,调出数据源和会话工厂?我留下了我选择的解决方案的答案。仍然对更多的输入感兴趣。我在这个堆栈上所做的开发工作是专业的,我没有做过那么多的测试,所以我从来没有遇到过这个问题。