JUnit软件测试技术(工具)和注解( Annotation )

JUnit软件测试技术(工具)

使用方法:在项目中建立专门用户测试的包结构。在Junit-中,通过@Test注解,可以运行一个方法

Junit注解说明

使用了@Test注解应该满足以下条件:

   1) 必须是无参数的非静态方法。

   2) 添加@Test注解的类,必须拥有一个无参数的公开构造

JUnit测试示例演示

1、运行完成后,可以在Junit的窗口上看到运行所用的时间和结果信息。

2、被测试程序的运行结果出现在控制台(Console)上

JUnit中的其它注解

@BeforeClass@AfterClass@Before@After


注解( Annotation )

元数据

        所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。

      元数据可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。许多元数据工具,如XDoclet,将这些功能添加到核心Java语言中,暂时成为Java编程功能的一部分。

       一般来说,元数据的好处分为三类:文档编制、编译器检查和代码分析。代码级文档最常被引用。元数据提供了一种有用的方法来指明方法是否取决于其他方法,它们是否完整,特定类是否必须引用其他类,等等。 

★ 什么是注解 

Java中的注解就是Java源代码的元数据,也就是说注解是用来描述Java源代码的。  基本语法就是:@后面跟注解的名称。 

★ Java中预定义注解 Java.lang包当中的三个预定注解

①Override:标识某一个方法是否正确覆盖了它的父类的方法。

Deprecated:表示已经不建议使用这个类成员了。  它是一个标记注解。

SuppressWarnings:用来抑制警告信息。





对注解的注解


指定目标Target

在了解如何使用Target 之前,需要认识另一个类,该类被称为ElementType(通过API详细学习),它实际上是一个枚举。这个枚举定义了注释类型可应用的不同程序元素。 

@Target({ElementType.TYPE,ElementType.METHOD}) 

设置保持性Retention

 RetentionPolicy (通过API详细学习)枚举类中定义了3种注解保持性,分别决定了Java 编译器以何种方式处理注解。  

@Retention(RetentionPolicy.SOURCE

添加公共文档Documented

在默认的情况下在使用javadoc自动生成文档时,注解将被忽略掉。如果想在文档中也包含注解,必须使用Documented为文档注解。

@Documented 

设置继承Inherited 

在默认的情况下,父类的注解并不会被子类继承。如果要继承,就必须加上Inherited注解。 

@Inherited 


<span style="color:#330033;">package cn.hncu.MyJUinit;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD,ElementType.FIELD})
public @interface MyTest {
	
}</span><span style="color:#99cc00;">
</span>



如何读取注解


要读取注解的内容,就需要使用反射的技术。  注意:要想使用反射得到注释信息,须用@Retention(RetentionPolicy.RUNTIME)进行注解。 


<p>importjava.lang.reflect.*;</p><p>publicclass TestMyAnno{</p><p>  public static void main(String[] args)throwsException {</p><p>    Class c = <span style="color:#333399;">Class.forName</span>(“anno.UserModel");</p><p>    booleanflag =<span style="color:#333399;">c.isAnnotationPresent</span>(MyAnno.class);</p><p>    System.out.println(flag);</p><p>    if(flag){</p><p>      MyAnnoma = (MyAnno)<span style="color:#333399;">c.getAnnotation</span>(MyAnno.class);</p><p>      System.out.println("学校名称:=="+<span style="color:#333399;">ma.schoolName</span><span style="color:#333399;">()</span>);</p><p>      //获取到了这些数据过后,下面就可以开始你的处理了</p><p>    }</p><p>  }</p><p>}</p>






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值