3

我在工作中使用 RAD/Eclipse 构建了我的所有 Web 项目,我很想知道您通常将测试的 *.class 文件存储在哪里。

我所有的 Web 项目都有 2 个源文件夹:“src”用于源,“test”用于测试用例。为两个源文件夹生成的 *.class 文件当前位于 WebContent/WEB-INF/classes 文件夹下。

我想将测试 *.class 文件与 src *.class 文件分开,原因有两个:-

  • 将它们存储在 WebContent/WEB-INF/classes 中并在生产中部署它们是没有意义的。
  • Sonar 和其他一些静态代码分析工具不会产生准确的静态代码分析,因为它考虑了我蹩脚但正确的测试用例代码。

所以,现在,我有以下输出文件夹: -

  • “src”源文件夹编译为 WebContent/WEB-INF/classes 文件夹。
  • “test”源文件夹编译为 target/test-classes 文件夹。

现在,我收到了来自 RAD 的警告:-

Broken single-root rule: A project may not contain more than one output folder.

因此,似乎基于 Eclipse 的 IDE 更喜欢一个项目 = 一个输出文件夹,但它为我提供了一个选项,可以从“构建路径”对话框为我的附加源文件夹设置一个自定义输出文件夹,然后它对我咆哮.

我知道我可以自己禁用此警告,但我想知道您如何处理此问题。

更新

我附上了我的一个项目的构建路径对话框的屏幕截图。我正在使用 RAD v7.5.5。似乎你们中的大多数人都使用 Maven 构建项目。我喜欢使用 Maven,我在其他任何地方都使用 Maven,因为它不能很好地与 Websphere 配合使用。如果你知道如何让一个 Mavenized 项目与 Webpshere 一起工作,也请告诉我。

替代文字 http://www.imagebanana.com/img/89q9o46t/s1.jpg

4

3 回答 3

3

我选择了一个单独的TEST项目与SOURCE项目共存。

通过这种方式,您可以为您的测试项目添加额外的依赖项,例如一些您只需要用于测试的第三方库,而不是在您的常规项目中添加此依赖项。

于 2010-05-25T15:38:58.863 回答
2

假设正在测试的类是com.example.MyClass. 我会将测试MyClassTest放在同一个包com.example中,但放在一个单独的文件夹中test

        module
        /     \
      src   -> target <-
      /  \
   main   test
     |      |
    java   java
     |       |
     com    com
     |        |
    example  example
     |        | 
MyClass.java MyClassTest.java

这是Maven 的标准目录布局

但是您可以将测试和主类的类文件编译到同一个输出文件夹target中。

于 2010-05-25T16:24:27.503 回答
0

我不知道 RAD,但我可以告诉你,我的所有项目都使用单独的输出文件夹进行测试和测试资源,在 Eclipse 下没有任何问题:

替代文字 http://www.imagebanana.com/img/9c8m79s/screenshot_008.png

于 2010-05-25T15:29:52.120 回答