繁体   English   中英

测试方法而不是在Netbeans w / JUnit中测试整个文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM