gpt4 book ai didi

java - Netbeans:如何更改用于识别 testSuites 的命名模式

转载 作者:太空宇宙 更新时间:2023-11-04 08:38:36 26 4
gpt4 key购买 nike

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

最佳答案

好吧,实际上,我在努力解决自己的问题时发现了这一点。 Vanilla 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 结尾的内容。

关于java - Netbeans:如何更改用于识别 testSuites 的命名模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5840388/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com