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

Junit和javadoc的完美结合

 
阅读更多
<p><span style="font-size: medium;">实际遇到的问题:</span></p>
<p><span style="font-size: medium;">在编写junit的测试代码的时候,需要为每个Case编写注释作者等信息。而执行结果平台也需要知道这些信息,而不是通过查看测试代码来发现这些信息,这就需要在测试执行的时候读取到javadoc的信息。</span></p>
<p><span style="font-size: medium;">本文就是针对这个问题的解决方案</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: medium;"><span style="">首先,由于</span><span lang="EN-US"><span style="font-family: Calibri;">JavaDoc</span></span><span style="">是只能读取紧贴函数的注释,目前我们</span><span lang="EN-US"><span style="font-family: Calibri;">Java</span></span><span style="">代码中都被</span><span lang="EN-US"><span style="font-family: Calibri;">@Test</span></span><span style="">占据。所以我想到只能修改</span><span lang="EN-US"><span style="font-family: Calibri;">@Test</span></span><span style="">接口</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: medium;"><span lang="EN-US"><span style="font-family: Calibri;"> </span></span><span style="">于是将</span><span lang="EN-US"><span style="font-family: Calibri;">Junit</span></span><span style="">中</span><span lang="EN-US"><span style="font-family: Calibri;">@Test</span></span><span style="">接口修改如下:</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">public</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">@interface</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='background: yellow; color: #646464; font-family: "Courier New";' lang="EN-US">Test</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">/**</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">*</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">Default</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">empty</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">exception</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">*/</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">static</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">class</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> None </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">extends</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> Throwable {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">private</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">static</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">final</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">long</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><em><span style='color: #0000c0; font-family: "Courier New";' lang="EN-US">serialVersionUID</span></em><span style='color: black; font-family: "Courier New";' lang="EN-US">= 1L; </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">private</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> None() {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> }</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> }</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">/**</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">*</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">Optionally</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">specify</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #7f7f9f; font-family: "Courier New";' lang="EN-US">&lt;code&gt;</span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">expected</span><span style='color: #7f7f9f; font-family: "Courier New";' lang="EN-US">&lt;/code&gt;</span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">,</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">a</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">Throwable,</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">to</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">cause</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">a</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">test</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">method</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">to</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">succeed</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">iff</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">*</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">an</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">exception</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">of</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">the</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">specified</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">class</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">is</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">thrown</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">by</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">the</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">method.</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">*/</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> Class&lt;? </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">extends</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> Throwable&gt; expected() </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">default</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> None.</span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">class</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US">;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">/**</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">*</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">Optionally</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">specify</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #7f7f9f; font-family: "Courier New";' lang="EN-US">&lt;code&gt;</span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">timeout</span><span style='color: #7f7f9f; font-family: "Courier New";' lang="EN-US">&lt;/code&gt;</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">in</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">milliseconds</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">to</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">cause</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">a</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">test</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">method</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">to</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">fail</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">if</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">it</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">*</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">takes</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">longer</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">than</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">that</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">number</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">of</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #3f5fbf; font-family: "Courier New";' lang="EN-US">milliseconds.*/</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">long</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> timeout() </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">default</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> 0L;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> String author(); //</span><span style="">新增</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> String description(); //</span><span style="">新增</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US">}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: medium;"><span lang="EN-US"><span style="font-family: Calibri;"> </span></span><span style="">新增了作者和注释两个新的属性;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: medium;"><span lang="EN-US"><span style="font-family: Calibri;"></span></span><span style="">应用代码(即编写测试用例的时候,在</span><span lang="EN-US"><span style="font-family: Calibri;">@Test</span></span><span style="">中必须注明作者和描述信息属性)如下:</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">public</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">class</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> TestTag {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><span style='color: #646464; font-family: "Courier New";' lang="EN-US">@Test</span><span style='color: black; font-family: "Courier New";' lang="EN-US">(author=</span><span style='color: #2a00ff; font-family: "Courier New";' lang="EN-US">"elbert.chenh"</span><span style='color: black; font-family: "Courier New";' lang="EN-US">,description=</span><span style='color: #2a00ff; font-family: "Courier New";' lang="EN-US">"TestCase1"</span><span style='color: black; font-family: "Courier New";' lang="EN-US">)</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">public</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">void</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> TestCase1()</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> System.</span><em><span style='color: #0000c0; font-family: "Courier New";' lang="EN-US">out</span></em><span style='color: black; font-family: "Courier New";' lang="EN-US">.println(</span><span style='color: #2a00ff; font-family: "Courier New";' lang="EN-US">"OK"</span><span style='color: black; font-family: "Courier New";' lang="EN-US">);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> }</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style='color: black; font-family: "Courier New";' lang="EN-US"><span style="font-size: medium;">}</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style='color: black; font-family: "Courier New";' lang="EN-US"><span style="font-size: medium;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style=""><span style="font-size: medium;">测试代码如下:</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">public</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">class</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> TestTestTag {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">public</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">static</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">void</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> main(String[] args) {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> TestTag tt = </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">new</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> TestTag();</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">try</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> Annotation[] annotation = tt.getClass().getMethod(</span><span style='color: #2a00ff; font-family: "Courier New";' lang="EN-US">"TestCase1"</span><span style='color: black; font-family: "Courier New";' lang="EN-US">)</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> .getAnnotations();</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">for</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> (Annotation tag : annotation) {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> System.</span><em><span style='color: #0000c0; font-family: "Courier New";' lang="EN-US">out</span></em><span style='color: black; font-family: "Courier New";' lang="EN-US">.println(</span><span style='color: #2a00ff; font-family: "Courier New";' lang="EN-US">"Tag is:"</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> + tag);</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> System.</span><em><span style='color: #0000c0; font-family: "Courier New";' lang="EN-US">out</span></em><span style='color: black; font-family: "Courier New";' lang="EN-US">.println(</span><span style='color: #2a00ff; font-family: "Courier New";' lang="EN-US">"tag.name()"</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> + ((</span><span style='color: #646464; font-family: "Courier New";' lang="EN-US">Test</span><span style='color: black; font-family: "Courier New";' lang="EN-US">) tag).author());</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> System.</span><em><span style='color: #0000c0; font-family: "Courier New";' lang="EN-US">out</span></em><span style='color: black; font-family: "Courier New";' lang="EN-US">.println(</span><span style='color: #2a00ff; font-family: "Courier New";' lang="EN-US">"tag.age()"</span><span style='color: black; font-family: "Courier New";' lang="EN-US"> + ((</span><span style='color: #646464; font-family: "Courier New";' lang="EN-US">Test</span><span style='color: black; font-family: "Courier New";' lang="EN-US">) (tag)).description());</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> }</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> } </span><strong><span style='color: #7f0055; font-family: "Courier New";' lang="EN-US">catch</span></strong><span style='color: black; font-family: "Courier New";' lang="EN-US"> (NoSuchMethodException e) {</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> e.printStackTrace();</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> }</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: medium;"><span style='color: black; font-family: "Courier New";' lang="EN-US"> }</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style='font-family: "Courier New";' lang="EN-US"><span style="font-size: medium;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style='color: black; font-family: "Courier New";' lang="EN-US"><span style="font-size: medium;">}</span></span></p>
<p><span style="font-size: medium;"></span></p>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics