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

Java EE环境下的单元测试

  •  5
  • Armadillo  · 技术社区  · 16 年前

    我们将我们的应用程序迁移到JavaEE容器中,并寻找用于单元测试(和集成测试)的迁移工具。 我们的要求包括:

    • 即席测试:按需手动运行测试的能力(供开发人员在开发代码时使用)
    • 批量测试:定期运行大量(并且不断增长的)测试的能力
    • in container:当ejb部署在容器中时使用它们的集成测试
    • 单元测试:不一定在ejb上下文中测试类
    • 很好:设置简单,与ant/ide集成
    • 不需要测试servlets/jsp—只需要pojo和ejb

    在Java EE环境中,您使用什么来实现测试?您部署了哪些技术/设置?

    我的研究发现了仙人掌和刺柏:你成功地将它们安装起来了吗?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Robin    16 年前

    我们使用普通的JUnit进行单元测试和集成测试。我们使用一个vm参数在两者之间切换,并使用直接vs.服务器的标记对测试进行注释。我们确实有一个定制的TestSu套类,虽然它基于这些信息找到并运行测试,因为它比手动维护哪些测试更容易,更容易出错。

    在我们的例子中,我们使用spring remoting与servlet和ejb(通过servlet)进行对话,测试这两种情况只是eclipse中的一个单独的启动配置。

    几年前我们使用了junite,但最终放弃了它,转而一直使用junit。这使我们能够让开发人员在完全没有服务器的情况下完成所有测试,并在他们的ide中运行这两个单元和我称之为低级别集成测试。然后,我们让构建机对现在部署在实际服务器中的相同代码运行相同的集成测试。这使得开发周期更快,因为我们很少需要运行服务器和部署服务代码。

        2
  •  1
  •   doomspork    16 年前

    junit(ee)是我所支持的每一个主要项目(1亿美元以上)所使用的。它是一个非常棒的工具,如果你决定寻找其他工作机会,知道如何使用它是非常宝贵的。

    我支持一个不使用单元测试的政府金融系统,但是经过大量的努力,我们最终实现了junit。我现在工作的系统是一个大型的政府机构现代化,我们使用junit进行所有的单元测试。两个支持现代化的大公司必须使junit成为所有子项目的标准。我们有大约200个开发者毫无障碍地使用它。

    它是快速和容易建立,一旦你了解它,你可以利用这些功能,它将展示它是多么的宝贵。