zoukankan      html  css  js  c++  java
  • 结合JUnit来说明反射和注解的用途

     

      没有反射,很多框架就都不存在了。(No Reflection, no most frameworks).

     

    JUnit简单介绍

      JUnit(3.8,4.x):基于Java的单元测试。

      JUnit 3.8是基于反射,JUnit 4.x是基于反射和注解的。

      使用时首先导入jar包:在项目名上右键,配置Java Build Path,选择Add Library..,然后选择JUnit。之后选择版本3或者4。

      如果选JUnit 3,则加好后如下:

     

     

     

        测试程序运行结果如下图:

      

     

      Keep the bar green to keep the code clean.

      JUnit 3中方法必须以test开头才能被找到。说明是通过反射来找到并调用方法。

      

      如果选用JUnit 4,则测试例子代码可以如下:

    import org.junit.Test;
    
    public class Test2
    {
          @Test
          public void hello()
          {
                 System.out.println("Hello World!");
          }
    }

      

      通过一个注解,怎么找到要执行的方法?

      JUnit 4的一般执行流程

      首先,获取待测试类所对应的Class对象,然后就可以获取其中的所有方法(JUnit要求所有方法都是public的)。

      获取了所有方法的Method对象,对于每个Method对象,通过调用isAnnotationPresent(Test.class)方法,可以检查方法是否有名为Test的注解,如果有这个注解,则调用Method对象的invoke()方法来执行这个方法。

     

    参考资料

      张龙老师Java SE系列视频教程。

      单元测试不是为了证明你是对的,而是证明你没有错误。

      Writing Secure Code(编写安全的代码):Input is evil.

     

  • 相关阅读:
    Linux crontab 命令
    tcpdump抓包工具
    tcpdump过滤某个端口
    ARM处理器基础Cortex-M4
    rtems floating poing switch
    ARM处理器的堆栈和函数调用,以及与Sparc的比较
    关于调用堆栈,任务堆栈
    如何测试嵌入式处理器的CPU使用率
    关于嵌入式实时操作系统的实时性
    RTEMS API
  • 原文地址:https://www.cnblogs.com/mengdd/p/2890204.html
Copyright © 2011-2022 走看看