【问题标题】:can't import class src/test/java into src/main/java in eclipse无法在 Eclipse 中将类 src/test/java 导入 src/main/java
【发布时间】:2021-07-24 08:24:40
【问题描述】:

我在 Eclipse 中使用 gradle。 我想在 src/main/java/program 中使用 src/test/java/testing 中的类。

我试过了:

// in program.java
public static void main(String[] args) {
    final testing t = new testing();

// in testing.java
public class testing {
    ... some code ...
}

但执行失败,因为它找不到符号“类测试”。

我的程序没有发现任何问题,所以我假设我没有正确设置环境。

我看到一个帖子说我必须构建路径,但它说没有可用的操作。

有人可以帮我在 mac 上设置环境吗?

【问题讨论】:

  • 您可以从 main 导入类进行测试。但是你不能相反,因为测试包中的代码只是为了测试。
  • 如果你真的想这样做,可以使用 Gradle Java 插件,因为你可以指定你的源集,就像这里描述的 docs.gradle.org/current/userguide/… 但是你还需要导入所有依赖项实现配置。基本上它违反惯例,可能你只需要看看如何分别运行主类和测试。

标签: java eclipse gradle


【解决方案1】:

我想在 src/main/java/program 中使用 src/test/java/testing 中的类。

不,这不是应该的。 Gradle、eclipse 或就此而言 any 构建系统和 any IDE 都会与您抗衡。

测试代码依赖于主代码,但主代码不依赖于测试代码。它不起作用 - 部署应用程序时不会提供测试代码。

如果您想编写一些从 main 运行的测试,请将代码放入src/main 本身src/test 用于自动化测试。

如果您正在为实际测试代码将使用的某些数据跟踪创建一个类,并且当前这个跟踪类位于src/test,因为您觉得它应该去那里,因为它与测试相关 - 移动它类到主要。 src/main/... 使用的任何东西,根据定义都是“主”代码。

【讨论】:

    相关资源