Java Netbeans:如何更改用于标识TestSuite的命名模式

Java Netbeans:如何更改用于标识TestSuite的命名模式,java,netbeans,junit,Java,Netbeans,Junit,我有许多JUNIT测试套件都有一个“Tests”后缀。Eclipse识别static suite()方法,并在package explorer中提供运行测试选项。然而,NetBeans的情况并非如此,它只为我提供了默认的运行上下文菜单选项。然而,我注意到它确实可以识别任何使用“TestSuite”作为后缀的类作为测试套件。我是NB 7.0新手,无法找到如何改变模式,或者如何使NB以与Eclipse相同的方式工作。如果您使用的是ant项目,则需要进入项目目录中的ant文件,并找到用于定位测试的an

我有许多JUNIT测试套件都有一个“Tests”后缀。Eclipse识别static suite()方法,并在package explorer中提供运行测试选项。然而,NetBeans的情况并非如此,它只为我提供了默认的运行上下文菜单选项。然而,我注意到它确实可以识别任何使用“TestSuite”作为后缀的类作为测试套件。我是NB 7.0新手,无法找到如何改变模式,或者如何使NB以与Eclipse相同的方式工作。

如果您使用的是ant项目,则需要进入项目目录中的ant文件,并找到用于定位测试的ant命令。上次我检查时(几年前),它所寻找的文件名模式是硬编码的

如果您使用的是ant项目,则需要进入项目目录中的ant文件,找到用于定位测试的ant命令。上次我检查时(几年前),它所寻找的文件名模式是硬编码的

好吧,事实上,我是在努力解决我自己的问题时发现的。香草NetBeans使用ant,所以这个问题实际上是一个ant问题。如果查看项目目录,我们会看到build.xml文件。这是指示ant做什么的主文件。如果我们查看该文件的内部,就会发现它的主要功能是简单地创建nbproject/build-impl.xml文件。所以,我们需要的是在这里。我们可以使用此文件覆盖默认实现的功能

如果深入研究build-impl.xml文件,您将看到junit部分。请查看此部分:

<target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
    <j2seproject3:junit testincludes="**/*Test.java"/>
</target>

这是实际运行测试的部分,它位于一小块xml中,这正是我们所需要的,因为我们只尝试覆盖一小块。很明显,您可以看到我们只匹配(递归地)与模式“*Test.java”匹配的文件名。因此,在您的例子中,您将编辑(或添加)模式“TestSuite.java”。不过,不要将这一行添加到该文件中,因为这是一个自动生成的文件,它可能会被套住。相反,将整个位复制到实际的build.xml文件中,我认为需要将它粘贴到指令上方,以便它优先。(可能不行,如果不行,也可以在下面试试。)

现在,这里有一个棘手的地方,NetBeans有一个定制的junit运行程序,标签。如果不进一步深入了解如何传递参数,我们不知道如何向它添加参数,但是对于您的情况,这很好,我们实际上不需要添加参数,我们可以通过编辑一个来使它工作

<target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
    <j2seproject3:junit testincludes="**/*Test*.java"/>
</target>


这很可能对你有用。现在,它将匹配任何包含单词test的内容,而不仅仅是以单词test结尾的内容。

好的,事实上,我在努力解决自己的问题时找到了答案。香草NetBeans使用ant,所以这个问题实际上是一个ant问题。如果查看项目目录,我们会看到build.xml文件。这是指示ant做什么的主文件。如果我们查看该文件的内部,就会发现它的主要功能是简单地创建nbproject/build-impl.xml文件。所以,我们需要的是在这里。我们可以使用此文件覆盖默认实现的功能

如果深入研究build-impl.xml文件,您将看到junit部分。请查看此部分:

<target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
    <j2seproject3:junit testincludes="**/*Test.java"/>
</target>

这是实际运行测试的部分,它位于一小块xml中,这正是我们所需要的,因为我们只尝试覆盖一小块。很明显,您可以看到我们只匹配(递归地)与模式“*Test.java”匹配的文件名。因此,在您的例子中,您将编辑(或添加)模式“TestSuite.java”。不过,不要将这一行添加到该文件中,因为这是一个自动生成的文件,它可能会被套住。相反,将整个位复制到实际的build.xml文件中,我认为需要将它粘贴到指令上方,以便它优先。(可能不行,如果不行,也可以在下面试试。)

现在,这里有一个棘手的地方,NetBeans有一个定制的junit运行程序,标签。如果不进一步深入了解如何传递参数,我们不知道如何向它添加参数,但是对于您的情况,这很好,我们实际上不需要添加参数,我们可以通过编辑一个来使它工作

<target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
    <j2seproject3:junit testincludes="**/*Test*.java"/>
</target>


这很可能对你有用。现在,它将匹配任何包含单词test的内容,而不仅仅是以单词test结尾的内容。

问题是关于一个香草nb项目。从netbeans 5.0开始,构建引擎一直是Ant。从6号开始。?他们添加了maven作为选项。所以“香草”Java应用程序项目类型是Ant。问题是关于香草nb项目。从netbeans 5.0开始,构建引擎是Ant。从6号开始。?他们添加了maven作为选项。因此,“普通”Java应用程序项目类型是Ant。