当前位置: 首页 > 知识库问答 >
问题:

如何在模块化Java项目中组织测试?

狄宾实
2023-03-14

我正在GitHub上创建一个模块化的构建(使用module-info.java),但是在我想要模块化的模块中添加一个module-info.java时,无法执行任何测试...

我怎样才能做到这一点呢?

我正在使用以下版本:

  • junit.jupiter版本5.3.0(第一次使用版本5.2.0也不成功)
  • maven-compiler-plugin版本3.8.0(第一次使用版本3.7.0也不成功)
  • maven-surefire-plugin版本2.22.0(第一次使用版本2.21.0也不成功)

共有1个答案

金阳华
2023-03-14

欢迎来到模块化世界的测试!

您希望编写哪种测试?

模块外测试:创建一个仅测试的项目(没有“src/main”目录),并声明一个“src/test/java/module-info.java”模块描述符。

  • 在测试运行时“编译模块化主源”和“修补普通测试源”,并附加一些“JVM选项攻击模块系统”以执行测试。
  • 在编译时“编译模块化测试源”和“修补模块化主源”以执行测试。

https://sormuras.github.io/blog/2018-09-11-testing-in-the-modular-world

>

  • 在建工程蓝图https://github.com/sormuras/sandbox/Tree/master/sors-modular-testing-blueprint

    从https://github.com/sormuras/junit-platform-maven-plugin/tree/master/src/it的“modular-world-”开始的集成测试

    • https://github.com/junit-team/junit5-samples/tree/master/junit5-modular-world
    • https://github.com/forax/pro
    • https://blog.codefx.org/java/five-command-line-options-to-Hack-the-java-9-module-system/

  •  类似资料:
    • 问题内容: 您会考虑在项目中组织JUnit测试的最佳实践是什么,为什么?例如,您是否将测试保持在测试的类旁边?您是否将它们放在单独但并行的包装结构中?您是否完全使用其他组织策略? 问题答案: 由于多种原因,我使用了一个独立但并行的包结构。 它使测试的组织方式与应用程序代码相同。 我可以轻松地构建仅用于分发的应用程序文件。 测试代码仍然可以访问我的应用程序代码。 它不像将测试代码与应用程序代码混合在

    • 我要开发java系统,它由三个应用程序组成。这些应用程序使用相同的包。如何在IntelliJ IDEA中组织这个项目?必须在项目中所有资源都组织在一个包层次结构中,还是在库中使用不同的项目。你能告诉我专业的解决方案吗?

    • 项目模块化 在企业项目中,包层次和类关系比较负责,把代码拆分成模块是一个比较困难的任务,因为这需要你清晰的划分功能的边界,比如把业务逻辑和数据持久化拆分开来。 解耦和聚合 但你的项目符合高内聚低耦合时,模块化就变得很容易,这是一条非常好的软件开发实践。一个很好的模块化的例子就是Spring框架,spring框架提供了很多服务,比如MVC web框架、事务管理器、JDBC数据库连接等,下图展示了Sp

    • 问题内容: 在组织python模块时,我的Mac OS X系统一团糟。我的硬盘上到处都有程序包,而没有用于组织它们的特定系统。 您如何使一切易于管理? 问题答案: 我的建议: 阅读安装Python模块。 阅读分发Python模块。 从setuptools开始使用easy_install 。阅读setuptools的文档。 始终使用virtualenv。我的site-packages目录 仅 包含

    • 我想在Eclipse中的Java9模块化项目上使用JUnit5运行测试,而不使用Maven、Gradle或所有那些花哨的东西。因此,我有路径,其中module-info.java和模块的包所在,还有所有测试类所在。Id est业务照常,在拼图模块系统之前。我有Eclipse Oxygen.3a(4.7.3a)和Java 10.0.1。 我看过一些来自Eclipse的视频,展示了如何将JUnit测试

    • 问题内容: 对于这篇文章的篇幅,我深表歉意,但是在不展示图片的情况下,我很难使其简洁。我最近继承了一个Maven 3.0多模块项目的build- master的工作。问题在于项目/模块的结构是一场灾难。从当前事物存储在Source Control中的方式(我们使用RTC)到模块的pom结构,我正在努力尝试每次完成完整的构建周期。 随着项目层次结构的发展,所有模块都被“扁平化”存储。即:一切都处于同