`
linkyou66
  • 浏览: 234955 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

命令行模式下junit4.3测试粒度细化到测试方法

 
阅读更多
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">命令如下:</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="color: #1f497d;" lang="EN-US"><span style="font-family: Calibri;">java -cp<span style=""> </span>D:/AutoRun/lib/coretestlib/common/junit-4.3.jar;. org.junit.runner.AliJUnitCore com.TestAA</span></span><span style="">(测试</span><span style="color: #1f497d;" lang="EN-US"><span style="font-family: Calibri;">Class</span></span><span style="">名)</span><span style="color: #1f497d;" lang="EN-US"><span style="font-family: Calibri;"> TestCase1</span></span><span style="">(测试方法名)</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: #1f497d;" lang="EN-US"><span style="font-size: small; font-family: Calibri;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">攻略如下</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">由于事先</span><span style="color: #1f497d;" lang="EN-US"><span style="font-family: Calibri;">junit </span></span><span style="">支持</span><span style="color: #1f497d;"><span style="font-family: Calibri;"> </span></span><span style="">测试粒度到测试类级别,命令如下</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: #1f497d;" lang="EN-US"><span style="font-size: small;"><span style="font-family: Calibri;">java -cp<span style=""> </span>D:/AutoRun/lib/coretestlib/common/junit-4.3.jar;. org.junit.runner.JUnitCore com.TestAA</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: #1f497d;" lang="EN-US"><span style="font-size: small; font-family: Calibri;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">但是它支持界面模式下的单方法执行,那么肯定有相应的测试类支持</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">为此找到了</span><span style="color: #1f497d;" lang="EN-US"><span style="font-family: Calibri;">TestMethodRunner</span></span><span style="">的类</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="color: #1f497d;" lang="EN-US"><span style="font-size: small; font-family: Calibri;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">同时想到改造</span><span style="color: #1f497d;" lang="EN-US"><span style="font-family: Calibri;">org.junit.runner.JUnitCore</span></span><span style="">的</span><span style="color: #1f497d;" lang="EN-US"><span style="font-family: Calibri;">main</span></span><span style="">的方法,让它去调用</span><span style="color: #1f497d;" lang="EN-US"><span style="font-family: Calibri;">TestMethodRuner</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="">改造的方法代码分别如下</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">public</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> Result runMain(String... args) {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>System.</span><em><span style='font-size: 10pt; color: #0000c0; font-family: "Courier New";' lang="EN-US">out</span></em><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">.println(</span><span style='font-size: 10pt; color: #2a00ff; font-family: "Courier New";' lang="EN-US">"JUnit version "</span><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> + Version.<em>id</em>());</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>Class&lt;?&gt; cls = </span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">null</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> ;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>Method mes = </span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">null</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>List&lt;Failure&gt; missingClasses= </span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">new</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> ArrayList&lt;Failure&gt;();</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">try</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>cls = Class.<em>forName</em>(args[0]);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span><span style=""></span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">for</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">(</span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">int</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> j=0; j&lt; cls.getMethods().</span><span style='font-size: 10pt; color: #0000c0; font-family: "Courier New";' lang="EN-US">length</span><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">; j++)</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span><span style=""></span>{</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span><span style=""></span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">if</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">(cls.getMethods()[j].getName().endsWith(args[1]))</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span><span style=""></span>mes = cls.getMethods()[j];</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span><span style=""></span>}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>} </span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">catch</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> (ClassNotFoundException e1) {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><span style='font-size: 10pt; color: #3f7f5f; font-family: "Courier New";' lang="EN-US">// </span><strong><span style='font-size: 10pt; color: #7f9fbf; font-family: "Courier New";' lang="EN-US">TODO</span></strong><span style='font-size: 10pt; color: #3f7f5f; font-family: "Courier New";' lang="EN-US"> Auto-generated catch block</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>System.</span><em><span style='font-size: 10pt; color: #0000c0; font-family: "Courier New";' lang="EN-US">out</span></em><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">.println(</span><span style='font-size: 10pt; color: #2a00ff; font-family: "Courier New";' lang="EN-US">"Could not find class: "</span><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> + args[0]);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>Description description= Description.<em>createSuiteDescription</em>(args[0]);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>Failure failure= </span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">new</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> Failure(description, e1);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>missingClasses.add(failure);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>RunListener listener= </span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">new</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> TextListener();</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>addListener(listener);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>Result result= run(cls,mes);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">for</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> (Failure each : missingClasses)</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>result.getFailures().add(each);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">return</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> result;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; font-family: "Courier New";' lang="EN-US"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">public</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> Result <span style="background: silver;">run</span>(Class&lt;?&gt; cls, Method mes ) {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>Description description;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>description = </span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">new</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> Description(</span><span style='font-size: 10pt; color: #2a00ff; font-family: "Courier New";' lang="EN-US">"</span><span style="">开始</span><span style='font-size: 10pt; color: #2a00ff; font-family: "Courier New";' lang="EN-US">"</span><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>TestMethodRunner tmr = </span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">null</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">try</span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>{</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>tmr = </span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">new</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> TestMethodRunner(cls.newInstance(),</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>mes, </span><span style='font-size: 10pt; color: #0000c0; font-family: "Courier New";' lang="EN-US">fNotifier</span><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">, description);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">catch</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> (Exception e1) {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>System.</span><em><span style='font-size: 10pt; color: #0000c0; font-family: "Courier New";' lang="EN-US">out</span></em><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">.println(e1.getMessage());</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">return</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> run(tmr,description);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">/**</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">*</span><span style="">基本保持原来的函数不变,只是把</span><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">Runner</span><span style="">改成</span><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">TestMethodRunner</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">*/</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">public</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> Result run(TestMethodRunner runner,Description description) {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>Result result= </span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">new</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> Result();</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>RunListener listener= result.createListener();</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>addFirstListener(listener);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">try</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; font-family: "Courier New";' lang="EN-US"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><span style='font-size: 10pt; color: #0000c0; font-family: "Courier New";' lang="EN-US">fNotifier</span><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">.fireTestRunStarted(description);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>runner.run();</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><span style='font-size: 10pt; color: #0000c0; font-family: "Courier New";' lang="EN-US">fNotifier</span><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US">.fireTestRunFinished(result);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>} </span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">finally</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>removeListener(listener);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span></span><strong><span style='font-size: 10pt; color: #7f0055; font-family: "Courier New";' lang="EN-US">return</span></strong><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"> result;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style='font-size: 10pt; color: black; font-family: "Courier New";' lang="EN-US"><span style=""> </span>}</span></p>
分享到:
评论

相关推荐

    junit4.3工具包

    对于压缩包中的 `junit4.3` 文件,它可能包含了JUnit 4.3 的库文件,如jar包,开发者可以将其导入到Android Studio项目中,作为测试依赖来使用。在Android项目的`build.gradle` 文件中,添加相应的依赖配置,就可以...

    dos命令测试java jar文件 命令行下运行JUnit测试 命令运行java

    这里我们主要探讨如何使用DOS命令来测试Java JAR文件,以及如何在命令行下运行JUnit测试。这是一项基础但至关重要的技能,因为通过命令行工具可以高效地自动化测试和调试代码。 首先,让我们了解Java JAR文件。JAR...

    java测试类库junit4.3

    java测试类库junit4.3

    Ant1.7+Junit4.3 (4.0)

    标题中的“Ant1.7+Junit4.3”指的是Apache Ant版本1.7与JUnit版本4.3的结合使用。Apache Ant是一个基于Java的构建工具,它允许通过XML文件来定义项目构建过程,类似于Makefile在Unix环境中的角色。JUnit是Java编程...

    junit单元测试使用方法(实例)

    ` 可以在命令行模式下运行测试。 - **图形界面运行**:通过 `junit.swingui.TestRunner.run(Test.class);` 或 `junit.awtui.TestRunner.run(Test.class);` 可以在图形用户界面下运行测试。 通过以上介绍,我们可以...

    Junit 单元测试完整案例

    在案例中,你将看到如何创建测试类,定义测试方法,设置测试数据,以及如何利用JUnit和Spring/Struts提供的工具来编写高效的单元测试。通过分析和运行源码,你可以了解如何将这些概念应用于实际项目,提高代码质量。...

    junit4.3.1

    - **运行测试**:可以使用IDE(如Eclipse, IntelliJ IDEA)的内置测试运行器,或者通过命令行的JUnit runner执行测试。 4. **最佳实践**: - **保持测试独立性**:每个测试方法应独立于其他方法,避免相互影响。 ...

    JUnit和单元测试入门简介

    单元测试是最小粒度的测试,以测试某个功能或代码块。JUnit 框架是 xUnit 系列框架的一个实例,用于 Java 语言。 单元测试的好处包括: * 提高开发速度:测试是以自动化方式执行的,提升了测试代码的执行效率。 * ...

    junit单元测试jar包集

    DBUnit可以将数据库状态设置到已知的初始状态,执行测试,然后比较期望的结果。它支持多种数据格式(如XML或CSV),使得测试数据的管理更加方便。通过DBUnit,开发者可以确保数据库操作不影响其他测试,提高了测试的...

    Junit 计算器测试

    总结来说,"Junit计算器测试"是一个很好的实践项目,它可以帮助初学者理解Junit的基本用法,包括创建测试类、编写测试方法、使用断言以及理解测试生命周期。通过这样的练习,开发者可以逐步掌握单元测试的精髓,提高...

    JUnit单元测试自动构建脚本

    在给定的文件中,"AntOpenCommand.java"可能是自定义的Ant任务类,用于扩展Ant的功能,比如打开命令行窗口执行JUnit测试。这个类可能包含了对JUnit测试框架的调用,以及结果的处理逻辑。 "buildStruct.png"可能是一...

    Junit测试Void方法

    ### Junit 测试 Void 方法详解 在软件开发过程中,单元测试是确保代码质量的重要手段之一。JUnit 是 Java 开发者常用的单元测试框架,它能够帮助开发者编写自动化测试案例,从而提高代码的质量和可维护性。然而,...

    自动饮料机Junit测试(软件测试与质量保证实验).rar

    本实验“自动饮料机Junit测试”旨在帮助学生深入理解和应用单元测试,特别是在Java编程环境下。单元测试是一种针对程序代码最小可测试单元进行验证的方法,通常这个单元是函数或方法。Junit是Java领域广泛使用的单元...

    junit4测试jar包

    只需将其复制到你的项目类路径下,便可以开始编写和执行单元测试。 JUnit4相较于之前的版本,引入了许多增强功能,如注解(Annotations)的支持,使得测试代码更加简洁易读。以下是一些核心概念和关键知识点: 1. ...

    junit3测试

    6. **运行测试**:讲解如何通过IDE(如Eclipse、IntelliJ IDEA)或命令行来运行JUnit测试。 7. **测试结果**:解释测试结果的输出,包括测试失败的详细信息和堆栈跟踪。 【标签】"源码"表明可能博主深入解析了...

    Junit单元测试文档

    junit3 junit4 api,单元测试的利器

    Junit单元测试的实验报告.docx

    简单介绍了Junit的安装过程与实例应用。应用的问题是软件测试中的佣兵问题,整个文档中有代码及测试结果,可以更好地帮助学生了解Junit单元测试中的作用。

    junit单元测试示例

    Junit单元测试是Java开发中的一个关键组成部分,它允许开发者对代码进行小规模的验证,确保各个函数或方法按照预期工作。在这个“junit单元测试示例”中,我们将深入探讨如何配置和执行一个基本的JUnit测试。 首先...

    JUnit3.8.1 以及使用JUnit测试的代码demo

    在实际应用中,开发者通常会使用构建工具(如Maven或Gradle)配合JUnit进行自动化测试,这使得测试能够集成到开发流程中,并且可以在每次代码修改后自动运行。JUnit的结果可以通过测试报告展示,帮助开发者快速定位...

Global site tag (gtag.js) - Google Analytics