[英]Testing a method instead of testing a whole file in Netbeans w/ JUnit
我正在使用Netbeans 6.8,从IDE运行我的JUnit测试的最细粒度的方法似乎是右键单击Test Packages
下的一个类并单击Test File
在Eclipse中,可以将范围缩小到测试给定测试工具中的单个方法。 如何在Netbeans中仅测试一个线束中的一个单独测试?
在NetBeans 7.1中,打开单元测试文件,在特定单元测试中右键单击并选择“运行聚焦测试”。
更新 :NetBeans支持此功能(例如,请参阅NetBeans 6.8)。 只需右键单击传递或失败的测试,然后单击“再次运行”或“调试”。 或者在编辑器中单击鼠标右键,然后单击“运行/调试聚焦测试
老 :
据我所知,这是不可能的。 也许NetBeans人员记住,所有测试都应该通过一个单元。 我知道工具不应该限制开发人员,但如果一个方法花费太长时间 - 也许你应该考虑一个单独的集成测试?
另外看看这篇文章 。 (顺便说一句:在maven项目中运行一个单元的测试是可能的......)
Netbeans 7.1“运行聚焦测试”不适用于我的构建,所以我正在使用测试组来标记我想要运行的测试。
@Test(groups={"DEBUG"})
您可以通过将-Dgroups=DEBUG
添加到项目属性中的“调试测试文件”操作来配置Netbeans以运行这些测试。
注意:这些是使用maven / surefire运行的TestNG方法。
选项“Run Focused Test”在我的项目中显示为灰色,因为project.xml中没有名为“run.single.method”的操作。
让它工作的解决方法:
1)在project.xml文件中创建新的“run.single.method”操作(您可以复制“run.single”操作)。
project.xml片段:
<action name="run.single.method">
<script>nbproject/ide-file-targets.xml</script>
<target>run.single.method</target>
<context>
<property>run.class</property>
<folder>test/src</folder>
<pattern>\.java$</pattern>
<format>java-name</format>
<arity>
<one-file-only/>
</arity>
</context>
</action>
2)在ide-file-targets.xml中创建新的“run.single.method”目标(你可以复制“run-selected-file-in-src”) 并确保测试标签有一个参数“methods”使用属性“$ {method}” 。
ide-file-targets.xml片段:
<target name="run.single.method" depends="compile">
<fail unless="run.class">Must set property 'run.class'</fail>
<junit maxmemory="256m" fork="true" haltonerror="true" haltonfailure="true" printsummary="on" jvm="${jdk.dir}/bin/java" showoutput="true">
<sysproperty key="build.basedir" value="${basedir}"/>
<!-- method attribute makes the selected method to be unit tested only -->
<test name="${run.class}" methods="${method}"/>
<formatter type="plain" usefile="false"/>
<classpath refid="CLASSPATH"/>
</junit>
</target>
现在您可以使用鼠标右键菜单“运行聚焦测试”。
当项目扫描时,“运行聚焦测试”选项也可能暂时显示为灰色
任何人都想知道焦点测试也可以通过IntelliJ直接点击特定的测试并运行
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.