代码之家  ›  专栏  ›  技术社区  ›  limc

测试类应该存储在项目中的什么位置?

  •  3
  • limc  · 技术社区  · 15 年前

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

    我的所有Web项目都有两个源文件夹:“src”用于源代码,而“test”用于测试用例。为两个源文件夹生成的*.class文件当前放置在webcontent/web-inf/classes文件夹下。

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

    • 没有必要将它们存储在WebContent/WEB-INF/类中并在生产中部署它们。
    • 声纳和其他一些静态代码分析工具不能产生准确的静态代码分析,因为它考虑到了我的糟糕但正确的测试用例代码。

    因此,现在,我有以下输出文件夹:

    • “src”源文件夹编译为WebContent/WEB-INF/Classes文件夹。
    • “测试”源文件夹编译到目标/测试类文件夹。

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

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

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

    我知道我可以自己取消这个警告,但我想知道你是如何处理的。

    更新

    我附加了一个项目的构建路径对话框的屏幕截图。我用的是RADv7.5.5。看起来你们大多数人都是和Maven一起构建项目的。我喜欢使用Maven,我在任何地方都使用Maven,但因为它不适合WebSphere。如果你知道如何让一个独树一帜的项目与WebPShere一起工作,也请告诉我。

    alt text http://www.imagebanana.com/img/89q9o46t/s1.jpg

    3 回复  |  直到 10 年前
        1
  •  1
  •   Pascal Thivent    15 年前

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

    alt text http://www.imagebanana.com/img/9c8m79s/screenshot_008.png

        2
  •  3
  •   Alexander Pogrebnyak    15 年前

    我选择了分开的 试验 项目与 来源 项目。

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

        3
  •  2
  •   b.roth    15 年前

    说要测试的类是 com.example.MyClass . 我会测试的 MyClassTest 在同一个包中 com.example ,但在单独的文件夹中 test :

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

    这是 Maven's Standard Directory Layout .

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