为什么在 Java 方面有一个"test"和一个"main"文件夹?



我在test文件夹中的一个特定类中编写程序(由intellij自动创建),并按原样运行。然后我需要从shell运行我的Java程序,我意识到我需要在main类中编写程序。

所以现在我想知道,对我来说,从main类运行已经编写好的代码最简单的方法是什么?文件夹TestMain是否在其中发挥作用?

这不是Java的属性,而是测试驱动开发的约定。"Test"文件夹用于存储测试"Main"代码的代码。因此,例如,一个名为Foo、方法为bar()的类将存在于"main"文件夹下的包中。相应的测试,它确认Foo.bar()函数如预期的那样,将在"test"文件夹下。

IntelliJ理解此约定,允许您从"test"文件夹中运行测试代码,并允许您在"main"文件夹中执行应用程序代码。

这些文件夹本身不是Java的一部分,与main方法无关。它们用于将要打包和部署的代码和资源与那些在主代码上运行自动测试但未在二进制包中交付的代码和源分开。

我不使用IntelliJ,但在Eclipse中,我可以右键单击具有main方法的类并运行它

这是一个来自构建工具的约定,尤其是maven。这个想法是分离代码&从代码&仅用于测试的资源。

使用主文件夹和测试文件夹是一种惯例。以分离不同的功能。主文件夹用于整个应用程序,而测试文件夹用于单元测试、集成测试等。实际上,还有另一个文件夹,它是您放置xml、属性文件等的资源,而主文件夹包含.java文件。

最新更新