【发布时间】:2014-09-02 07:48:47
【问题描述】:
我在test 文件夹(由intellij 自动创建)中的特定类中编写程序并按原样运行它。然后我需要从 shell 运行我的 Java 程序,我意识到我需要在 main 类中编写我的程序。
所以现在我想知道从main 类运行我已经编写的代码的最简单方法是什么,以及文件夹Test 和Main 是否在其中起作用?
【问题讨论】:
标签: java intellij-idea
我在test 文件夹(由intellij 自动创建)中的特定类中编写程序并按原样运行它。然后我需要从 shell 运行我的 Java 程序,我意识到我需要在 main 类中编写我的程序。
所以现在我想知道从main 类运行我已经编写的代码的最简单方法是什么,以及文件夹Test 和Main 是否在其中起作用?
【问题讨论】:
标签: java intellij-idea
这不是 Java 的属性,而是测试驱动开发的约定。 “测试”文件夹用于存储测试“主”代码的代码。因此,例如,一个名为 Foo 的类和一个名为 bar() 的方法将存在于“main”文件夹下的包中。确认 Foo.bar() 功能符合预期的相应测试将位于“test”文件夹下。
IntelliJ 理解此约定,并允许您从“测试”文件夹中运行测试代码,并允许您从“主”文件夹中运行应用程序代码。
【讨论】:
这些文件夹本身不是 Java 的一部分,与 main 方法无关。它们用于将要打包和部署的代码和资源与那些用于对主代码运行自动化测试但未在二进制包中交付的代码和资源分开。
我不使用 IntelliJ,但在 Eclipse 中,我只需右键单击具有 main 方法的类并运行它。
【讨论】:
这是来自构建工具的约定,尤其是 maven。这个想法是将程序实际运行所需的代码和资源与仅用于测试的代码和资源分开。
【讨论】:
使用 main 和 test 文件夹是一种惯例。分离不同的功能。主文件夹的目的是用于整个应用程序,而测试文件夹的目的是用于单元测试、集成测试等...实际上还有另一个文件夹是您放置 xml、属性文件等的资源,而主文件夹包含.java 文件。
【讨论】: