Netbeans:如何更改用于标识测试套件的命名模式



我有许多带有"Tests"后缀的JUNIT testsuite。Eclipse识别静态suite()方法,并在包资源管理器中提供运行测试选项。然而,NetBeans也不是这样,它只给我默认的运行上下文菜单选项。然而,我注意到它确实识别任何使用"TestSuite"作为后缀的类作为测试套件。我是NB 7.0的新手,无法找到如何改变模式或如何使NB以与Eclipse相同的方式工作。

好吧,实际上,我在试图解决我自己的问题时发现了它。香草NetBeans使用蚂蚁,所以这个问题实际上是一个蚂蚁问题。如果查看项目目录,就会看到build.xml文件。这是指导ant做什么的主要文件。如果我们查看文件内部,我们会发现它的主要功能是简单地nbproject/build- php .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这个单词结束的内容。

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

相关内容

  • 没有找到相关文章

最新更新