netbeans - 将junit测试单文件目标添加到netbeans中的自由格式java项目

标签 netbeans ant

我保证,我已阅读:http://netbeans.org/kb/articles/freeform-config.html

我有一个 java 自由格式项目,我想对其进行修改,以将“测试单个文件”目标包含到 Netbeans 7.2 中的上下文菜单中

所包含的链接概述了创建一个名为“test.single”的操作(为了覆盖 Netbeans 的“测试单个文件”命令),并且在该操作创建中,必须指定一个 ant 目标和一个上下文对象,如下所示:

<context>
    <property>testclass</property>
    <folder>${current.dir}</folder>
    <pattern>\.java$</pattern>
    <format>java-name</format>
    <arity>
        <one-file-only/>
    </arity>
 </context>

总而言之,我有:

在 ide-actions block 内的 project.xml 中创建操作:

<action name="test.single">                                     
  <target>test-single</target>

  <context>
      <property>testclass</property>
      <folder>${current.dir}</folder>
      <pattern>\.java$</pattern>
      <format>java-name</format>
      <arity>
          <one-file-only/>
      </arity>
  </context>
</action>

将 ide-action 添加到上下文菜单 block 中”

<ide-action name="test.single"/>

将其添加到自由格式项目的project.xml 文件中,右键单击项目名称后,上下文菜单中会出现一个灰色的“test.single”条目。此外,右键单击 src/test 目录中的测试类会生成灰色的“测试单个文件”条目。

我已经检查并验证了 xml,一切似乎都已通过。我可能做错了什么?

提前致谢!

最佳答案

遇到了同样的问题,并通过克隆 nbproject/project.xml 中的操作 run.single 并将其命名为 test.single 来解决它:

<action name="test.single">
    <script>build.xml</script>
    <target>test-single</target>
    <context>
        <property>test.class</property>
        <folder>src/java</folder>
        <pattern>\.java$</pattern>
        <format>java-name</format>
        <arity>
            <one-file-only/>
        </arity>
    </context>
</action>

我还将属性更改为 test.class,因为我们需要在项目 build.xml 中使用它来运行适当的测试类。

在主 build.xml 中,我有一个目标 test-single:

<target name="test-single" description="Run individual Unit tests" depends="compile, compile-test" >  
    <junit
        printsummary="yes"
        errorProperty="test.failed"
        failureproperty="test.failed"
        haltonfailure="yes" 
        fork="yes"
        showoutput="yes">
        <formatter type="plain" usefile="false"/>
        <classpath>
            <pathelement location="${build.base.classes.dir}" />
            <pathelement location="${unit.test.classes.dir}" />
            <pathelement location="${junit.dir}" />
        </classpath>
        <test name="${test.class}Test" todir="${results}">
        </test>
    </junit>
    <fail message="Tests failed!" if="test.failed"/>
</target>

请注意, 指的是属性 ${test.class}。但是当我这样保留它时,它会尝试运行正在测试的类而不是 JUnit 测试类。由于这总是与最后带有“Test”一词的被测试类相同,因此我将其编写为 ${test.class}Test。

关于netbeans - 将junit测试单文件目标添加到netbeans中的自由格式java项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15207207/

相关文章:

java - Netbeans 8.2 不会运行该项目

java - 使用 Ant 脚本解析 ";"分隔的 XML 值

Ant if :true. 将属性设置为 true 不会导致任务执行

android - 无法找到 tools.jar Fedora

java - 如何在 NetBeans 8 上使用旧版本的 Java(不是默认版本)和 Maven 项目

java - 分析 Gradle 项目

java - GlassFish 服务器 core.jar 不包含在已安装的 bundle 列表中

java - 在 JPL 中查询具有多个结果的 Prolog

gradle - 将Ant构建导入Gradle时添加build.xml的路径

linux - 如何将 `chmod -R +w` 与 Ant、文件和文件夹一起使用?