天天看點

java學習之 Junit和注解

#1、Junit

#1.1、測試分類:

  1. 黑盒測試:不需要寫代碼,給輸入值,看程式是否能夠給出期望的值
  2. 白盒測試:需要寫代碼的。關注程式具體的執行流程。

    #1.2、Juni使用:

  3. 定義一個測試類
  4. 定義測試方法:可以獨立運作
  5. 給方法加入加@Test
  6. 導入Junit依賴環境

#2、注解

##概念:說明程式的。給計算機看的

##注釋:用文字描述程式的。給程式員看的

##JDK中預定義的一些注解

  1. @Override:檢測被注解标注的方法是否是繼承自父類(接口)的
  2. @Deprecated:該注解标注的内容,表示已過時
  3. @SuppressWarnings:壓制警告

##自定義注解

  1. 格式:

    元注解

    public @interface 注解名稱 {

    屬性清單;

    }

  2. 本質:注解本質就是一個接口,該接口預設繼承Annotation接口
  3. 屬性:接口中可以定義的成員方法

    要求

  4. 屬性的傳回值類型有下列取值

    *基本資料類型

    *String

    *枚舉

    *注解

    *以上類型的數組

  5. 定義了屬性,在使用時需要給屬性指派

    1.如果定義屬性時,使用default關鍵字給屬性預設初始化值

    2.如果隻有一個屬性需要指派,并且屬性的名稱是value,則value可以省略

    3.數組指派時,值使用{}包裹。如果數組中隻有一個值那麼可以省略{}

    ##元注解:用于描述注解的注解

  • @Target:描述注解能夠作用的位置
    • ElementType取值:
      • TYPE:可以作用在類上
      • METHOD:可以作用在方法上
      • FIELD:可以作用在成員變量上
  • @Retention:描述注解被保留的階段

    - @Retention(RetentionPolicy。RUNTIME):目前被描述的注解會保留到class位元組碼檔案中,并被JVM讀取到

  • @Documented:描述注解是否被抽取到api文檔中
  • @Inherited:描述注解是否被子類繼承

#小結:

  1. 以後大多數時候,我們會使用注解,而不是自定義注解
  2. 注解給誰用?

    1、編譯器

    2、給解析程式用

  3. 注解不是程式的一部分,可以了解為注解就是一個标簽。