测试 Maven 模块中的 FileNotFoundException

发布于 2024-12-05 19:16:49 字数 450 浏览 1 评论 0原文

我正在开发一个最近已完成的遗留项目,具有以下多模块结构:

父级:

  • Web
  • Service
  • Dao

(“Service”模块依赖于“Dao”模块)

问题:服务类的一些测试调用使用 Spring 的 ClassPathXmlApplicationContext 创建 bean 的 DAO 代码(这部分不是真正的 DAO,而是与缓存相关)。由于 ClassPathXmlApplicationContext 使用 DAO 模块的 spring 配置 xml - 服务测试失败并抛出 FileNotFoundException。我认为这是因为测试在 Service 模块中运行,而引用的 spring config xml 位于 Dao 模块中。

请告知如何在参考其他模块的代码/资源的测试中解决上述问题?

I'm working on a recently mavenized legacy project with following multi-modular structure:

Parent:

  • Web
  • Service
  • Dao

("Service" module is dependent on "Dao" module)

Problem: some tests of Service classes call DAO code that creates beans using Spring's ClassPathXmlApplicationContext (this part is not really DAOs but caching related). Since, ClassPathXmlApplicationContext uses spring config xml of the DAO module - the Service tests fail throwing FileNotFoundException. I think this is because tests run in Service module and the spring config xml being referred lies in Dao module.

Please advise on how can I resolve the above issue in tests referring to code/resources of other modules?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝色星空 2024-12-12 19:16:49

将 Spring 配置的副本放在 Service 模块中的 src/test/resources 下。通常,您无论如何都需要不同的配置来进行测试,但这也意味着您的测试较少依赖于另一个模块中的配置更改。

Put a copy of the Spring configuration under src/test/resources in the Service module. Quite often you want a different configuration for testing anyway, but also it means your tests are less dependent on configuration changes in another module.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文