ChatGPT解决这个技术问题 Extra ChatGPT

如何在 Intellij 13 中创建测试目录?

我是使用 v13 的 Intellij 菜鸟。

我有一个简单的 java 项目(默认)结构,如下所示:

  [] .idea
  [] src
     [] com.test
          mytestClass1
          mytestClass2

现在,我想编写一个简单的测试,并将该代码放在 /src/test/java 目录中。所以我决定改变我的项目格式,使它看起来像:

 [] .idea
   [] src
     [] main
        [] java    
        [] resources
     [] test
        [] java    
        [] resources

创建该结构后,我显然想将 src 中的当前类移动到 main/java/com... 结构。

我已阅读有关 content roots and project structure 的所有内容。该信息甚至指出,“内容根目录中的文件夹可以分配到以下类别:源、测试源、生成的源、生成的测试源和排除的文件夹(在 Java 模块中 - 也是资源和测试资源)”

我尝试右键单击项目名称,然后新建 -> 目录,然后输入“src/main/java”(也尝试使用前导斜杠)但是当我右键单击我的新目录并选择“将目录标记为”时唯一的选项是排除。

如果我在根目录中创建一个新目录,我可以选择将目录标记为测试源根目录,但它仍然挂在根目录下,如下所示:

  [] .idea
  [] java
  [] src
     [] com.test

有人可以告诉我如何迁移到我想要的结构吗?

测试和测试类的目录结构必须适合。以下是如何轻松做到这一点:stackoverflow.com/a/36057080/715269

m
mariusz-s

你应该有这样的结构:

 [] .idea    
 [] src
    [] main
      [] java   
           com.simpleproject
             SimpleClass.java
      [] resources
    [] test
      [] java
           com.simpleproject
             SimpleClassTest.java
      [] resources

之后转到:文件->项目结构->模块,在“源”选项卡中,您可以选择哪个文件夹是“测试文件夹”(通常是测试中的 java),哪个“源”(通常是主中的 java)等等标记为”选项。


好的!工作。你能告诉我最好的重构方式,让旧的类在新的结构中吗? (我试过 ->Refactor->Move 但没有像我希望的那样工作。
我不确定我是否理解,但我认为在 IDE 左侧的项目视图中“拖放”包文件夹/类会有所帮助:)
这似乎仍然是 IntelliJ 14 的正确程序。为什么这么复杂?是因为 IntelliJ 通常会在项目创建时添加测试源根目录吗?
没必要这么复杂。看这里:stackoverflow.com/a/36057080/715269
我总是不清楚一个细节。在此示例中,com.simpleproject 是项目中类中的包名还是 java(或 scala)下的文件夹?