1. 程式人生 > >太白---落燕紛飛第一重 Android單元測試Instrumentation和irobotium

太白---落燕紛飛第一重 Android單元測試Instrumentation和irobotium

tom 先來 otto 重現 size sim 個人 思想 pack

PS:叫太白---落燕紛飛純粹好玩(天涯明月遊戲畫面感,打擊感,碰撞盡管做的不盡人意,可是太白這個職業還是不錯,用作開頭,,做個旁白而已)。

這裏的單元測試不管是instrumentation還是irobotium都不適用於遊戲,遊戲的自己主動化能夠參考公司內wetest的基於引擎的對象識別自己主動化解決方式 or 前面用sikuli的方案。這裏僅適用於傳統行業Application範疇。

但基本思想類似,都是找到相應的對象,運行相應的方法,而這裏的被測目標是詳細的class裏面的某個function。

一般來說,一個故事總有一個開頭的獨白,這裏也有。僅僅是沒有那麽酷炫,更沒有多麽神(xing)秘(gan)的場景......

故事背景非常easy。就跟秋天起風吹過大樹,泛黃的樹葉被風吹落一般簡單,直接。

這裏須要在機器本身的存儲(非sdcard)空間當用戶點擊保存文件的時候,存入指定的內容到文件。

而作為一名有追(xi)求(xia)的測試,想直接對它做個白盒。驗證一下......

副本所需材料:eclipse+DDMS、一臺已經root的android手機(一定要root。沒有root我被坑了)

副本開刷,loading副本組成之中的一個:

技術分享

須要擊殺副本的終於小boss就在這裏,進入副本房間,查看副本場景詳情:

技術分享

Level有限。僅僅能先來刷點小boss房間,勿怪。勿嫌棄,,僅僅要體驗到了樂趣,不要太(zuo)在意細節(si)~~

副本開刷,開始準備殺氣:

在被測的project中,相應的androidmainfest中加入

技術分享

註意擊殺的位置,擊殺位置不正確,一切都是白費~

<uses-library android:name="android.test.runner" />---------引入android單元測試所需的依賴庫

instrumentation android:name = "android.test.InstrumentationTestRunner" android:targetPackage="com.example.fileoper"

各自是相應的一會要使用的擊殺道具所需重要材料和相應的擊殺副本名稱

準備幾乎相同了。能夠開始擊殺小boss了,僅僅見說時遲那時快,,,一道白光劃過

new 出你的class。用於測試被測類的方法。註意new的時候extends

技術分享它,否則你會發現,你白光過後就倒在了小boss的浪聲之下了~~~

接著,刷刷刷,刀起聲落。小boss就會倒下了。可獲得副本道具:Android Instrumentation單元測試小匕首。

攻擊1-10 防禦1-10 附加屬性:神奇道具就可以可看

技術分享

技術分享

在副本擊殺過程中,被小boss搞的小傷害的地方:

1、一定要攜帶好相應的道具。否則即使是小boss也能把你幹死(root的android手機)

2、帶好道具之後。記得給道具鑲嵌上相應的寶石(查看 /data/data/com.example.fileoper/files是否777,在DDMS的file explorer中能夠看到,也能夠adb shell自己加入,查看。一定要查看到最後的files文件夾。假設它沒有777,前面再多的777,最後你都會跪下唱征服)

3、被測的對象和去測的方法所在class能夠放入不同的包以下,import下也是能夠的。

還有,假設你是一個見不得warn的人。而恰恰中間出現了類似

No instrumentation runner found for the launch, using
android.test.InstrumentationTestRunner的問題,就選擇project的properties,右側假設有反復的保留最新的。刪除副本重現執行就能夠了

Tips:開頭標題說的irobotium?跟這個有啥關系。。,事實上也沒有太大關系,irobotium僅僅是用的是自己的solo類。本質上跟這裏android.test.runner android.test.instrumentationTestRunner似乎沒啥差別(個人是沒有感覺有啥大的差別)

太白---落燕紛飛第一重 Android單元測試Instrumentation和irobotium