AndroidStudio debug調試、單元測試

debug調試

1:首先是設置斷點:在需要的代碼行,左側的行號旁邊點擊即可


2:選擇debug模式運行代碼:


3:運行成功後會程序會定在第一個斷點出,並在顯示log的區域,出現Debug調試視圖,和log的顯示。該區提供了調試的主要操作,和你所熟知的一樣的,主要有:Step over、step into、force step into、step out、drop frame。


4:Show Execution Point:點擊該按鈕,快速定位當前調試的位置,並將該行高亮的顯示出來。


5:Step Over:單步跳過,點擊該按鈕將導致程序向下執行一行。


6:Step Into:單步跳入,執行該操作將導致程序向下執行一行。如果該行有自定義的方法,則進入該方法內部繼續執行,需要注意如果是類庫中的方法,則不會進入方法內部。


7:Force Step Into:強制單步跳入,和step into功能類似,主要區別在於:如果當前行有任何方法,則不管該方法是我們自行定義還是類庫提供的,都能跳入到方法內部繼續執行


8:Step Out:如果在調試的時候你進入了一個方法(如f2()),並覺得該方法沒有問題,你就可以使用stepout跳出該方法,返回到該方法被調用處的下一行語句。值得注意的是,該方法已執行完畢。


9:Force Run to Cursor:忽略斷點,跳到光標處,比如我們一共有三個斷點,當前在第一個,我們想直接調試第三個斷點後的代碼,那麼將光標放到要調試的位置,點擊這個即可。


10:Evaluate expression:點擊該按鈕會在當前調試的語句處嵌入一個交互式解釋器,在該解釋器中,你可以執行任何你想要執行的表達式進行求值操作。

比如,我們在調試時執行到以下代碼: 


此時執行Evaluate Expression,就相當於在調試行之前嵌入了一個交互式解釋器,那麼在該解釋器中我們能做什麼呢?在這裏,我們可以對result進行求值操作:對着你想要求值得位置點擊鼠標右鍵,選擇evaluate Expression.此時會顯示如下: 


在彈出的輸入框中輸入求值表達式,比如這裏我們輸入Math.min(result,50),如下圖


點擊執行,我們發現在Result中已經輸出了結果,如下: 


單元測試

1:在src路徑下除了有個main文件還有一個androidTest,這個就是AS專門提供給我們用來進行單元測試的,創建一個測試類,MainTest,好,那麼如果想讓這個類執行單元測試的話,那麼必須繼承一個叫做AndroidTestCase的類,之前在Eclipse中進行單元測試的時候,除了要繼承這個類之外還要在清單文件中進行配置,在這個類中創建一個測試的方法:



2:testAdd,這裏需要注意一下的,這個方法必須以test打頭。



3:好基本就是這麼簡單,運行話,選中要測試的方法,右鍵 Run → testAdd() 注意是第二個不是第一個,也就是旁邊有個小機器人的
第一個是基於gradle進行測試的,

4:提示錯誤:



5:將 c比較的int值改爲3:再次運行測試:



6:有個問題就是有的哥們右鍵運行 run → 沒有選擇測試的方式:這裏有兩種處理的方式:

①:將這個方法重新創建一下,修改個名字就行了。

②:在上面的工具欄中進行編輯修改,Edit Configtions... 



選擇Defaults → 選中Android Tests 點擊左上角的 + 號 ,添加一個Android Tests ,起個名字比如說MyTest 在下面的下拉選項中,選擇module 選擇當前的module,注意這個的話 在as低版本有個小小的bug,如果選項什麼都沒有的話,那麼關閉編輯框,再次打開就有了,
然後在Test中選擇具體測試的內容,比如 All in Module、 All in Package、 Class、 Method 等,
那我們當前測試的是方法,所以選擇Method就行了,然後選擇具體的和方法,在Targer Device中選擇 第一個 Show choose就ok 了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章