【问题标题】:Creating ANT script to deploy to glassfish, run junit tests and then un-deploy创建 ANT 脚本以部署到 glassfish,运行 junit 测试,然后取消部署
【发布时间】:2010-01-26 07:40:57
【问题描述】:

大家好,我有一个使用 Netbeans 构建的 j2ee 应用程序。我的任务是修改 build.xml,以便在应用程序构建后,ANT 将应用程序部署到服务器,在应用程序上运行 Junit 任务,然后取消部署应用程序。到目前为止,我已经部署和取消部署工作,但我在运行 junit 任务时遇到了一些麻烦。

我在 Netbeans 中有一个客户项目,我的 junit 任务就在其中。我的麻烦是,当这个项目被构建时,它不会将我的 junit 测试编译到 .jar 中。当我运行我的 ant junit 任务并且 ANT 找不到适合 junit 测试的 .class 文件时,这会导致问题。

在 Netbeans 项目属性中,它允许我设置“源包文件夹”和“测试包文件夹”。如果我将“test”文件夹添加到“Source Package Folders”中并构建项目,它会编译测试并将它们包含在 jar 中。这可行,但是它阻止我在 netbeans 中运行我的 junit 测试作为测试,这会减慢开发速度。

有没有人有解决此类问题的经验?我可能忽略了一个简单的解决方案,所以如果有人有任何建议,我将不胜感激。提前致谢。

-布拉德

【问题讨论】:

    标签: netbeans ant junit glassfish build.xml


    【解决方案1】:

    如果我明白你在问什么,

    您不需要将测试类编译到 jar 中。只需将它们编译到某个目录中,例如“类”。然后只需将此目录包含在 junit 任务的文件集嵌套元素中即可。

    一个简单的例子,

    <target name="junit">
      <junit printsummary="true">
        <classpath>
          <pathelement location="${classes.dir}"/>
        </classpath>
    
        <test name="test.class.TestClass"/>
      </junit>
    </target>
    

    【讨论】:

    • 我知道我做错了什么。我将我的 junit 测试的类路径指向目录的深处。这是一个菜鸟的错误。我指的是 com/blah/blah2/blah3 这显然不起作用。
    【解决方案2】:

    必须将我的 junit 任务指向正确的类路径。指向不正确的 .class 文件(project1/classes/com/blah/blah2/blah3)的确切目录。将类路径设置为 project1/classes 并且它起作用了。菜鸟错误。

    【讨论】:

      猜你喜欢
      • 2017-07-16
      • 2015-04-26
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 2020-12-21
      • 1970-01-01
      • 2015-05-13
      相关资源
      最近更新 更多