将不同的源目录映射到不同的测试子目录

Map different source directories to different test subdirectories

我有一个安装了 JUnit 和 moreUnit 的 Eclipse 项目。我有两个源文件夹:

src/
demo/

我有一个测试目录,通过 moreUnit 和 CTRL-J,我可以快速创建一个单元测试 class 但仅限于 src/.

中的包

我想将测试目录映射到上面的源目录,这样当我创建一个新的单元测试时,它会自动转到 test 中的两个包之一:src 或 demo。

文件层次结构示例:

src/
    my_package
        MyClass.java

demo/
    my_package
        MyOtherClass.java

和相应的(期望的)测试布局:

test/
     src
         my_package
             MyClassTest.java
     demo
         my_package
             MyOtherClassTest.java

测试中,src和demo可以是包也可以是子目录,无所谓:只要moreUnit能够在右边创建测试class "branch".

希望您现在已经找到了问题的答案,但如果还没有,您可以试试这个。

创建将包含您的测试的项目。您需要对其进行设置,以便该项目可以看到您的生产(非测试)项目。按如下方式进行。右键单击测试项目,然后在列表底部单击 select "Properties"。在左侧栏中,单击 "Java Build Path."

在 window 的主体部分,select "Projects" 顶部,然后单击 "Add." Select 您的制作项目。

此时,您在此项目中编写的任何测试都将能够访问生产项目中的 类。这是一种单向依赖;您不希望您的生产代码需要访问您的测试!

现在,让我们告诉 MoreUnit 去哪里寻找相关的测试。右键单击您的生产项目,其中包含您的 src 和演示包。单击列表底部的 "Properties"。在左侧栏中,展开 "MoreUnit" 并单击 "Java."

选中 "Use project specific settings," 旁边的框并确保 "Test source folder" 已 selected。单击 "Add" 按钮。

在这里,您可以select 将要与生产项目相关联的测试项目。点击"Apply."

现在,当您按 Ctrl + J 时,MoreUnit 应该会在相应的测试项目中创建测试。在测试项目中创建一个具有适当名称的包是足够聪明的,所以你的测试应该按照你想要的方式组织。 :)