java - 在 Eclipse 中对 Java 9 模块化项目进行 JUnit 测试
问题描述
我想在 Eclipse 的 Java 9 模块化项目上使用 JUnit 5 运行测试,没有 Maven、Gradle 或所有花哨的东西。所以我有src/main/java
module-info.java 和模块包所在的路径以及src/test/java
所有测试类所在的路径。在 Jigsaw 模块系统之前,一切照旧。我有 Eclipse Oxygen.3a (4.7.3a) 和 Java 10.0.1。
我看过一些来自 Eclipse 的视频,展示了如何将 JUnit 测试添加到模块化项目中,但这让我大吃一惊:他们将required
关键字放入模块的 module-info.java 中,并将其绑定到 JUnit 模块。这实际上是正确的吗?
我也看到了所有这些--patch-module
/--add-reads
解决方案(当我们谈论在控制台中工作时),这似乎是正确的方法,但我不知道如何在没有被测绑定模块的情况下在 Eclipse 中实现这一点到 JUnit 模块。这在 Eclipse 中是否可能(没有 Maven 等)?
解决方案
我也尝试解决这个问题很长一段时间。我的方法是在 src/main/java 的源代码目录中添加一个过滤器,以过滤掉 module-info.java。这允许在 src/test/java 中有不同的 module-info.java。它将被复制到输出文件夹中。这样,您可以在 IDE 中运行单元测试,并将另一个用于最终构建。但是,您需要自己更新 src/main/java 中的内容。
右键单击项目 > 属性 > Java 构建路径 > 源
选择 src/main/java 条目,单击 Edit > Next > Exclusion Patterns > Add
推荐阅读
- python - Python:从 xlsx 读取的列的平均值
- java - 冒泡排序交换方法说明
- kubernetes - 澄清 Kubernetes QoS 与调度的关系
- google-chrome - Youtube在一定时间后挂起
- mysql - Google Cloud Platform SQL 数据库创建
- java - 如何将我的异常处理委托给 Spring Boot 的默认行为?
- java - 查找在 java 应用程序中执行的方法
- javascript - Node JS "require" 返回空对象
- php - 需要帮忙!HTML 表单不会在提交时发送电子邮件
- intellij-idea - IntelliJ IDEA 'Run | 中的突出显示是什么?Profile' Bar 表示测试失败?