




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、注解與測試1 課程介紹Ø 1.認識與理解注解Ø 2.JDK四大內(nèi)置注解Ø 3.JDK的元注解Ø 4.注解的開發(fā)與使用Ø 5.軟件測試的認識Ø 6.Junit3 & Junit42認識與理解注解本章的學習內(nèi)容:l 注解的定義l 注解的作用分類l 怎么使用注解l 注解三要素2.1注解的定義注解(Annotation),也叫元數(shù)據(jù),標簽,注釋。一種代碼級別的說明。它是JDK1.5及以后版本引入的一個特性,與類、接口、枚舉是在同一個層次。它可以聲明在包、類、字段、方法、局部變量、方法參數(shù)等的前面,用來對這些元素進行說明,注釋。之前寫的
2、Java中的3大注釋僅僅是上面說的注釋的一種注釋(廣義) 注釋(單行 多行 文檔注釋) - 狹義的注釋;注釋是給程序員看的. 注解 注解是給程序看的.2.2我們?yōu)槭裁匆獙W習注解 在學習與工作中,經(jīng)常會看別人的代碼,別人的代碼中就有注解。 特別是框架相關的代碼spring 可以讓代碼更簡潔,邏輯更加清爽 可以讓別人覺得你的技術還算不錯,見過一些東西(自定義注解)2.3注解的作用分類編寫文檔:通過代碼里標識的元數(shù)據(jù)生成文檔【生成文檔doc文檔】代碼分析:通過代碼里標識的元數(shù)據(jù)對代碼進行分析【使用反射】編譯檢查:通過代碼里標識的元數(shù)據(jù)讓編譯器能夠?qū)崿F(xiàn)基本的編譯檢查【Override】2.4怎么使用注
3、解(so easy) + 注解的名稱 它可以貼在方法,類,字段.2.5注解的三要素l需要有一個注解l使用這個注解(這個注解貼在什么地方) 第三方程序為注解實現(xiàn)功能3 JDK四大內(nèi)置注解本章的學習內(nèi)容:l 認識與使用四大內(nèi)置注解l 理解四大內(nèi)置注解的含義與作用使用Annotation要使用到 符號,+Annotation名字3.1 java提供的四個基本的Annotation:Override限定覆寫父類方法Deprecated標記已過時SuppressWarings抑制編譯器警告SafeVarargs 抑制堆污染警告3.2 具體使用-Override 限定覆寫父類方法特點: 只能貼在方法上面作
4、用: 在工具中如果錯誤,會直接提示我們(這個方法必需是父類有的方法,不然會報錯)3.3 具體使用-SuppressWarings抑制編譯器警告特點:它可以貼在類,方法,字段. 使用它的時候還可以加參數(shù)作用:就是這個警告不出現(xiàn)而已(自欺欺人的說法)3.4 具體使用-Deprecated標記已過時一個方法過時代表什么? 有可能這個方法有bug.有更好的方法去代替它.為什么又要留著它? 向下兼容!3.5 具體使用-SafeVarargs 抑制堆污染(了解)警告-當可變參數(shù)與泛型同時出現(xiàn)的時候,可能會產(chǎn)生堆污染思考? 為什么有的只能貼在方法上,有的標簽可以貼在類在,方法,字段上 為什么有的標簽可以加參
5、數(shù),有的標簽不能加參數(shù)4 JDK的元注解本章的學習內(nèi)容:l 什么是元注解(matedata)?l 不同元注解的作用是什么?l 元注解的使用方法(自定義注解做詳細講解)4.1什么是元注解?寫在注解上面的注解4.2常用的元素注解Target : 使用范圍(就是可以貼哪?)Retention : 生命長度(貼了后管多久)Documented : 文檔Inherited :繼承4.2.1 Target 使用范圍就是我們這個標簽可以貼在哪些地方ElementType.CONSTRUCTOR 只能修飾構造方法ElementType.METHOD 只能修飾方法ElementType.TYPE 只能修飾類,接
6、口,枚舉ElementType.FIELD 只能修飾字段(屬性),包括枚舉常量ElementType.LOCAL_VARIABLE 只能修飾局部變量ElementType.PACKAGE 只能修飾包(極少使用)ElementType.PARAMETER 只能修飾參數(shù)注意: 如何打在包上報錯原因: 打錯地方了package cn.itsource._01anno; 僅僅表示本類在這個包下面而已上面提示要求注解必須打包的聲明文件中應該是:4.2.2 Retention : 生命存在范圍/ JDK中枚舉類 RetentionPolicy的源代碼public enum RetentionPolicy
7、SOURCE,CLASS,RUNTIMEOverride定義采用的Retention(value= SOURCE):只能在源文件出現(xiàn)Deprecated定義采用的Retention(value= RUNTIME):可以在執(zhí)行時出現(xiàn)SuppressWarning定義采用的Retention(value= SOURCE):只能在源文件出現(xiàn)SafeVarargs定義采用的Retention(value= SOURCE):只能在源文件出現(xiàn)自己做標簽, 要運用反射去分析. 那么我們自己做的標簽必需是 RUNTIME4.2.3 Documented : 文檔4.2.4 Inherited :繼承我自己定義
8、了一個標簽:MyAnnMyAnnpublic class Parent()public class Children() extends Parent如果我在自定義MyAnn這個標簽的時候,在上面加上了Inherited,那么我們通過反射去找Children這個類,就可以找到這個標簽加上后相當于這個標簽所修飾的類的所有子類也有這個標簽5注解的開發(fā)和使用1 定義一個注解(標簽)2 貼標簽3 實現(xiàn)功能本章的學習內(nèi)容:l 怎么創(chuàng)建一個自定義注解l 在自定義注解上使用元注解l 自定義注解怎么添加屬性l 使用反射拿到注解5.1 創(chuàng)建一個自定義注解這種格式就是一個注解,就可以拿去貼貼貼5.2 在自定義注解
9、上使用元注解5.3在注解里面加上屬性特殊的寫法,名字是否是value問題,默認值,可以有的類型,多個屬性;5.4 使用反射去拿到注解5.4.1 拿到所有的注解5.4.2 拿到某一個特定的注解測試: 通過反射獲得類 方法 字段上面的注解- 需要先獲得對應的對象 Class Method Field6軟件測試本章的學習內(nèi)容:l 什么是測試l 黑盒測試l 白盒測試(可以看到代碼來完成)l 單元測試測試先行:一種程序員如果不知道該怎么測試,就不應該寫代碼黑盒測試:黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構和內(nèi)部特
10、性的情況下,在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測試著眼于程序外部結(jié)構,不考慮內(nèi)部邏輯結(jié)構,主要針對軟件界面和軟件功能進行測試。黑盒測試是以用戶的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應關系出發(fā)進行測試的。很明顯,如果外部特性本身設計有問題或規(guī)格說明的規(guī)定有誤,用黑盒測試方法是發(fā)現(xiàn)不了的。作用:黑盒測試法注重于測試軟件的功能需求,主要試圖發(fā)現(xiàn)下列幾類錯誤。功能不正確或遺漏;界面錯誤;輸入和輸出錯誤;數(shù)據(jù)庫訪問錯誤;性能錯誤;初始化和終止錯誤等。白盒測試:又稱結(jié)構測試、透明盒測試、邏輯驅(qū)動測試或基于代碼的測試。它
11、是按照程序內(nèi)部的結(jié)構測試程序,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照設計規(guī)格說明書的規(guī)定正常進行,檢驗程序中的每條通路是否都能按預定要求正確工作。 這一方法是把測試對象看作一個打開的盒子,測試人員依據(jù)程序內(nèi)部邏輯結(jié)構相關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試,通過在不同點檢查程序的狀態(tài),確定實際的狀態(tài)是否與預期的狀態(tài)一致。白盒測試是一種測試用例設計方法,盒子指的是被測試的軟件,白盒指的是盒子是可視的,你清楚盒子內(nèi)部的東西以及里面是如何運作的。"白盒"法全面了解程序內(nèi)部邏輯結(jié)構、對所有邏輯路徑進行測試。測試者必須檢查程序的內(nèi)部結(jié)構,從檢查程序的邏輯著手,得出測試數(shù)據(jù)
12、。-灰盒測試咱們馬上要學習的是單元測試7 Junit3.X(了解) junit3.x是Java5以前的測試方式: 使用junit3.x:步驟: 1.把junit3.x的測試jar,添加到該項目中來;(添加如下圖) 2.定義一個測試類,并讓該測試類繼承與TestCase類. 測試類的名字: XxxTest 3.在EmployeeDAOTest中編寫測試方法:如 public void testXxx() throws Exception 注意:方法是public修飾的,無返回的,必須以test作為方法的前綴,XXX表示測試的功能名字. 溫馨提示:輸入test,按atl+/,再敲回車,就有測試方法
13、,再修改方法的名字. 4.選擇某一個測試方法,鼠標右鍵選擇 run as junit,或則選中測試類,表示測試該類中所有的測試方法. 在Android中的單元測試就是采用的是junit3.x; 若要在測試方法之前做準備操作: EmployeeDAOTest覆寫TestCase中:protected void setUp() throws Exception方法 若要在測試方法之后做回收操作: EmployeeDAOTest覆寫TestCase中:protected void tearDown() throws Exception方法 執(zhí)行順序: setUp->測試方法->tearD
14、own->setUp-測試方法2->tearDown8 Junit4.X(掌握)junit4.x基于Java5開始的版本,支持注解. 使用junit4.x:步驟: 1.把junit4.x的測試jar,添加到該項目中來(導入的方式和junit3一樣); 2.定義一個測試類J.(不再繼承TestCase類) 它只是一個普通的java類 測試類的名字: XxxTest 3.在EmployeeDAOTest中編寫測試方法:如 Test public void testXxx() throws Exception 注意:方法是public修飾的,無返回的,該方法上必須貼有Test標簽,XXX
15、表示測試的功能名字. 4.選擇某一個測試方法,鼠標右鍵選擇 run as junit,或則選中測試類,表示測試該類中所有的測試方法. 以后單元測試使用最多的方式: 若要在測試方法之前做準備操作: EmployeeDAOTest隨意定義一個方法并使用Before標注: Before public void xx() throws Exception方法 若要在測試方法之后做回收操作: EmployeeDAOTest隨意定義一個方法并使用After標注: After public void xx() throws Exception方法 特點:每次執(zhí)行測試方法之前都會執(zhí)行Before方法,每次執(zhí)行
16、測試方法之后都會執(zhí)行After方法; 有沒有方式之初始化一次,和最終銷毀一次呢? BeforeClass標簽:在所有的Before方法之前執(zhí)行,只在最初執(zhí)行一次. 只能修飾靜態(tài)方法 AfterClass標簽:在所有的After方法之后執(zhí)行,只在最后執(zhí)行一次. 只能修飾靜態(tài)方法 執(zhí)行順序: BeforeClass->(Before->Test-After多個測試方法)->AfterClass注意:l沒有在方法上面寫 Testl測試方法不能有返回值(有的話就會報錯)l測試方法不可以接收參數(shù)l測試方法必需的公共的斷言::Assert.assertEquals(message, ex
17、pected, actual):比較的值 三個參數(shù): message: 斷言失敗的提示信息,斷言成功不會顯示. expected: 期望值 actual: 真實值 若真實值和期望值想等,則斷言成功.->綠條:Assert.assertSame(message, expected, actual):比較地址,是同一個對象 Assert.assertNotSame(message, expected, actual):斷言不是同一個對象:Assert.assertTrue(message, condition):斷言condition應該為TRUE.:Assert.assertFalse(message, condition):斷言condition應該為FALSE.:Assert.assertNull(message, object):斷言對象object為null.:Assert.assertNotNull(message, object):斷言對象object不為null.:Test(expected=ArithmeticException.class) 期望該方法報錯,報錯ArithmeticException.:Test(timeout=400) 期望該方法在400毫秒之內(nèi)執(zhí)行完成.9 今天要求1. 使用四大JDK內(nèi)置注解2. 掌握了解元注解(Rete
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第一次全國高考數(shù)學試卷
- 肛腸護理課件
- 肉類罐頭加工技術
- 2025至2030船用交流發(fā)電機和電動機行業(yè)市場深度研究與戰(zhàn)略咨詢分析報告
- 2025至2030畜產(chǎn)品產(chǎn)業(yè)市場深度調(diào)研及發(fā)展趨勢與發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 江西贛南科技學院招聘考試真題2024
- 2024年四川機電職業(yè)技術學院輔導員考試真題
- 福清高考學生數(shù)學試卷
- 東莞市二模數(shù)學試卷
- 阜陽一中強基數(shù)學試卷
- 醫(yī)用耗材管控中的難點及對策研究
- 2024屆杭州市濱江區(qū)小升初考試數(shù)學試卷含解析
- 羽毛球教案18課時完整版
- JT-T-1240-2019城市公共汽電車車輛專用安全設施技術要求
- 國外激勵研究現(xiàn)狀分析報告
- GB/T 4074.4-2024繞組線試驗方法第4部分:化學性能
- MH-T 6107-2014民用機場飛行區(qū)集水口頂蓋和地井頂蓋
- CJJT226-2014 城鎮(zhèn)供水管網(wǎng)搶修技術規(guī)程
- 施工成品保護方案及措施
- 無人機飛行控制系統(tǒng)若干關鍵技術研究的開題報告
- 年產(chǎn)5萬噸1,4-丁二醇的工藝流程設計
評論
0/150
提交評論