久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

Android JUnit 入門指南

      自動化單元測試可以做許多的事,并幫你節省時間。它也可以被用作快速檢驗新建工程或進行冒煙測試。始終,單元測試是作為一種有效的、系統的檢驗應用程序各功能執行的方式。Android SDK支持JUnit的自動化單元測試。本教程假設你已熟悉Android和JUnit在Eclipse的使用。

 

      創建一個Android的JUnit項目

      如果你的Eclipse中已經有Android項目,就不用再創建了。如果你的Eclipse中沒有Android項目,你可以創建一個JUnit項目,在創建JUnit項目的同時也會為你創建Android項目。

      對現有的Android項目,在Eclipse中右鍵單擊,選擇“Android Tools”,然后“New Test Project…”,如下圖:

 

Android JUnit 入門指南

 

      如果是新建Android項目,在“New Android Project”對話框中,按“Next”按鈕,如下圖:

 

Android JUnit 入門指南

      無論按照上面哪種方式,你都會在這個時候創建Android項目的新測試項目。創建測試項目的對話框,如下圖所示,通常會自動填寫上一些標準的命名約定等細節。如果沒有,請自己填寫,并創造該項目。

 

Android JUnit 入門指南

      在Android中創建一個JUnit測試用例


      Android應用程序通常是由一些Activity類組成的。事實上,每一個ACtivity都可以是一個獨立實體,進行測試。Android SDK中包含了幾個類來測試ACtivity類。現在我們將使用一個。

      右鍵單擊你的測試項目。選擇“New”,然后“JUnit Test Case”:

 

Android JUnit 入門指南

 

      在新建JUnit測試用例對話框上填寫,使用超類是android.test.ActivityInstrumentTestCase2,其中T是我們要測試的Activity,如下圖:

 

Android JUnit 入門指南

      點擊“完成”按鈕,這個類就創建成功了。注意:由向導創建的默認構造函數是不正確的。我們需要修改它,讓它不帶任何參數,調用不同的super()的方法,代碼如下:

 

1 public ScreenValidation() {    2    super("com.mamlambo.testingproject.TestingProjectActivity",    3      TestingProjectActivity.class);   4 }
      setUp()方法中,應配置運行這個測試用例所需的所有東西。Activity實例隨時可以被getActivity()方法調用。例如:如果我們想在測試中顯示一個TextView在Activity上,我們可以實現setUp()方法,如下:
 
1 TextView helloText;    2 protected void setUp() throws Exception {    3   super.setUp();    4   helloText = (TextView) getActivity().    5      findViewById(R.id.hello_textview);    6 } 
 
      在Android中添加單元測試
      此時你可以創建各種測試。你可以獲取到Activity布局上所有控件,以及在應用程序的任何代碼。由于使用Activity測試用例,我們可能感興趣于用戶界面,布局,及功能。讓我們看看TextView控件顯示在屏幕上。

 
01 public void testHelloTextVisibility() {    02    View container = getActivity().findViewById(R.id.container_layout);    03    int boundaryWidth = container.getWidth();    04    int boundaryHeight = container.getHeight();    05     06    int[] location = new int[2];    07    container.getLocationOnScreen(location);    08     09    int[] helloTextLocation = new int[2];    10    helloText.getLocationOnScreen(helloTextLocation);    11     12    Rect textRect = new Rect();    13    helloText.getDrawingRect(textRect);    14     15    boolean widerThanBoundary = (textRect.width() > boundaryWidth);    16    boolean tallerThanBoundary = (textRect.height() > boundaryHeight);    17    boolean extendsOffRight = location[0] + boundaryWidth    18      > helloTextLocation[0] + textRect.width();    19    assertTrue("Text wider than boundary", widerThanBoundary);    20    assertTrue("Text taller than boundary", tallerThanBoundary);    21    assertTrue("Text goes off right side", extendsOffRight);    22     23    // ... and so on    24  } 

 

      所有的測試方法必須用“test”做前綴。上面,我們已經創建了一個測試名為“HelloTextVisibility”的方法。如果測試通過或失敗,assertFalse()都會被調用。(assertTrue()方法只有是true時調用。)

 

      運行JUnit測試用例

      運行測試和測試用例,點擊Eclipse的Debug,選擇Android JUnit測試。如果你喜歡,你還可以創建一個Android JUnit測試配置,自定義這些設置。
      如下圖,我們的小應用程序在橫屏模式下,“Hello Text Visibility”測試通過:

 

Android JUnit 入門指南

 

      但在豎屏模式下,未能通過測試:

 

 Android JUnit 入門指南

      很顯然,我們的布局設計在豎屏模式下顯示不正確。(注:這可能是設置的寬度像素超過了手機的,而沒有使用合適的單位,如DP或是match_parent。)

 

      Android應用程序的質量在于單元測試

 

      創建單元測試時,必須小心謹慎。如果測試用例不正確,測試的東西通過了,也沒有價值。這是非常糟糕的,因為它可能掩蓋了一些問題。所以測試用例與代碼本身一樣重要。測試測試用例的主要方式是通過做代碼審查,并確保它們確實在測試。

      當然,測試Android框架的功能對于你的app來說,沒有起到特別大的作用。比如,測試設置文本字段的值,然后讀取它,看它是否相同。測試常規的TextView,并不是特別有意義的(除非你的SDK在一個新的設備上使用)。然而,如果是測試你自己實現的TextView,那就有必要了。

      這并不是說任何代碼框架都是那樣的完美無缺,但測試的事情是值得花許多心思的去寫測試開始的。如果失敗了,比起的你的應用程序,你將有更大的問題。還有是對SDK之間的細微差別的測試,在上面的例子中,我們沒有這么做,是因為我們使用了正確的SDK。

因此,如果你是自動化單元測試的新手,我們建議你做一些這方面的課題研究。一個不錯的地方是JUnit.org。

 

      結論


      在本教程中,你已經學會如何快速添加一個新的測試項目,并在Eclipse的Android項目中使用JUnit對你的app執行自動化測試。單元測試可以為邏輯測試,功能測試和用戶界面測試等,不再是專門手動測試移動應用。然而,使用一個包含自動化單元測試的套件,有幾大好處:它可以節省時間,金錢和資源,以及提供一套可靠的,重復性的測試,并且可以運行在許多不同的設備配置中。

 

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
久久的色偷偷| 亚洲精品四区| 精品国产美女a久久9999| 国产欧美日韩一级| 欧美国产中文高清| 国产成人久久精品麻豆二区 | 欧美日中文字幕| 91精品综合| 亚洲女同中文字幕| 爽好多水快深点欧美视频| 蜜臀精品一区二区三区在线观看| 蜜桃av一区二区三区电影| 中文字幕亚洲在线观看| 亚洲激情av| 亚洲精品福利| 欧美日韩中出| 成人综合一区| 欧美大黑bbbbbbbbb在线| 久热精品在线| 日韩精品免费视频一区二区三区| 国产精品久久免费视频| 丰满少妇一区| 亚洲天堂久久| 亚洲精品影视| 久久精品国产久精国产爱| 精品视频国产| 亚洲午夜视频| 日韩手机在线| 欧美一区成人| 国产va在线视频| 亚洲国产成人精品女人| 亚洲精品伊人| 精品99久久| 激情久久中文字幕| 日韩三区四区| 给我免费播放日韩视频| 国产麻豆综合| 免费观看亚洲天堂| 伊人影院久久| 久久99影视| 欧美a级片一区| 国产日韩亚洲| 久久婷婷丁香| 免费高清在线一区| 久久97视频| 午夜欧美精品| 国产精品久久777777毛茸茸| 久久国产电影| 欧美日韩一区二区三区在线电影| jizzjizz中国精品麻豆| 蜜臀久久久久久久| 国产精品99久久精品| 一区三区视频| 欧美黄色精品| 视频一区视频二区在线观看| 精品视频久久| 欧美专区一区二区三区| 国产精品黄网站| 国产精品久久久久久久久久10秀 | 日本一区免费网站| 日韩一区二区中文| 91精品福利观看| 亚洲手机在线| 欧美aa在线视频| 蜜桃av一区二区| 欧美一区久久久| 亚洲精品乱码| 色婷婷久久久| 久久不卡国产精品一区二区| 激情综合自拍| 日本aⅴ亚洲精品中文乱码| 欧美男人天堂| 国产精品欧美日韩一区| 尤物在线精品| 亚洲深夜视频| 欧美日韩一区二区三区四区在线观看 | 国产一区日韩欧美| 国产精品综合色区在线观看| 国产视频一区免费看| 牛牛精品成人免费视频| 亚洲三级观看| 免费视频国产一区| 久久影院一区二区三区| 99国产精品视频免费观看一公开 | 视频一区二区不卡| 久久人人88| 激情中国色综合| 欧美一区91| 在线精品福利| 日韩视频二区| 电影天堂国产精品| 国产色99精品9i| 蜜臀精品久久久久久蜜臀| 在线日韩一区| 三上悠亚国产精品一区二区三区| 欧美成人aaa| 日韩av午夜在线观看| 欧美日韩国产探花| 99精品综合| av免费不卡国产观看| 国产精品s色| 国产欧美精品| 亚洲精品欧洲| 免费观看日韩电影| 久久夜色精品| 国产免费成人| 99精品美女| 日韩欧美精品| 日韩欧美国产精品综合嫩v| 精品资源在线| 国产高清亚洲| 国产精品毛片久久久| 日韩精品免费一区二区夜夜嗨| 国产精品免费看| 亚洲激情国产| 欧美日韩视频一区二区三区| 久久天堂成人| 久久久久久久久久久9不雅视频| av中文资源在线资源免费观看| 欧美精品1区| 免费日韩成人| 久久精品日韩欧美| 欧美经典一区| 九九九精品视频| 荡女精品导航| 波多视频一区| 91精品国产乱码久久久久久久| 国产精品伦理久久久久久| 国产中文欧美日韩在线 | 国产图片一区| 国产精品大片| 久久精品一本| 中文在线免费视频| 久久国产中文字幕| 在线亚洲欧美| 性色一区二区| 亚洲另类黄色| 日精品一区二区三区| 91精品尤物| 六月丁香综合在线视频| 国产精品国产一区| 久久久精品五月天| 香蕉久久99| 久久国产精品毛片| 日韩精品一级| 国产精品.xx视频.xxtv| 久久精品国产99国产精品| 日韩大片免费观看| 国产高清一区| 日韩区欧美区| 国产精品超碰| 日韩欧美国产精品综合嫩v| 成人av二区| 日本国产欧美| 国产一区二区三区精品在线观看| 久久久久久黄| 亚洲精品视频一二三区| 欧美经典一区| 亚洲性视频h| 日韩国产一二三区| 日产午夜精品一线二线三线| 99久久精品网站| 亚洲精品美女91| 久久精品三级| 午夜精品亚洲| 日本成人中文字幕在线视频| 久久精品一区二区国产| 国产主播一区| 日本成人在线不卡视频| 国精品产品一区| 日韩网站在线| 国产精品一区二区av交换 | jiujiure精品视频播放| 日韩国产欧美三级| 日韩国产在线| 日韩高清不卡一区二区| 伊人网在线播放| 一区二区精彩视频| 久久久亚洲欧洲日产| 久久中文字幕av| 欧美久久精品| 美女少妇全过程你懂的久久| 日本成人一区二区| 香蕉成人av| 91麻豆精品激情在线观看最新| 日韩免费福利视频| 日韩1区2区3区| 色综合www| 国产调教一区二区三区| 99视频精品视频高清免费| 啪啪亚洲精品| 亚洲二区免费| 国产福利一区二区三区在线播放| 99久久婷婷这里只有精品| 欧美久久香蕉| 亚洲精品一二三区区别| 欧美aⅴ一区二区三区视频| 中文一区二区| 婷婷激情一区| 国产精品亚洲产品|