1. 程式人生 > >Android基礎入門の單元測試

Android基礎入門の單元測試



德國風景圖

一.概述

  在android專案開發過程中,我們往往會封裝較為常用的工具類,以便於後面的開發。針對寫好的工具類,對於嚴謹的程式猿來說肯定少不了一番測試調優穩定了之後才使用,而最常見的測試我們寫好的工具類的方法有mian方法除錯呼叫、單元測試這兩大塊。

  對於main方法進行除錯雖是一種較為常見的方法,但針對於處處想更加方便快捷的程式猿的我們,每次寫著固定的格式,並且每次都得寫一堆的程式碼才能進行除錯,難免會覺得煩躁的,所以就有了單元測試。但對於天朝的程式猿來說,單元測試在程式猿中很大比例被忽略,雖然這種忽略雖然在專案開發週期較為緊迫時候,或許能對專案的進度增加一些效率,但對於後期專案的健壯性帶來很大的隱患。所以個人認為在時間允許的條件下一定要寫單元測試,為了就是讓自己寫的工具類相對較為嚴謹,這也是軟體工程所推薦的。

  單元測試有什麼好處?歸納下有以下幾點:

  1. 一種驗證行為。

    程式中的每一項功能都是測試來驗證其正確性的,為以後的開發提供支援。就算是開發後期,我們也可以輕鬆的增加功能或更改程式結構,而不用擔心這個過程中會破壞重要的東西。而且它為程式碼的重構提供了保障。這樣。我們就可以更自由的對程式進行修改。

  2. 一種設計行為。

    編寫單元測試將使我們從呼叫者觀察、思考。特別是先寫測試(test-first),迫使我們把程式設計成易於呼叫和可測試的,即迫使我們解除軟體中的耦合。

  3. 一種編寫文件的行為。

    單元測試是一種無價的文件,它是展示函式或類如何使用的最佳文件。這份文件是可編譯、可執行的,並且它保持最新,永遠與程式碼同步。

  4. 具有迴歸性。

    自動化的單元測試避免了程式碼出現迴歸,編寫完成之後,可以隨時隨地的快速執行測試。

二.定義

  單元測試,是指對軟體中的最小可測試單元進行檢查和驗證。比如我們可以測試一個類,或者一個類中的一個方法。單元測試需要達到的目的:1、程式正常執行;2、執行結果符合預期效果。

三.Java的單元測試JUnit

  在講述Android單元測試前,我們需要先了解下java中的單元測試的定義及使用。
  在Java中單元測試建立方式,如下:

1.新建一個專案,在此就不累贅了,然後在專案的src選擇NEW >JUnit Test Case


2.填寫包名和類名(選擇New JUnit 4 Test),點選最下面的那個“Browse”按鈕來選擇需要測試的類:

3.輸入要測試的類名,確定後選擇下一步:

4.選擇Next,勾選需要測試的方法:

5.勾選要測試的方法,點選“Finish”,如未匯入JUnit對應的jar會提示如下,選擇確定即可,至此生成預設對應類的測試方法:

  • 加粗 Ctrl + B

  • 斜體 Ctrl + I

  • 引用 Ctrl + Q

  • 插入連結 Ctrl + L

  • 插入程式碼 Ctrl + K

  • 插入圖片 Ctrl + G

  • 提升標題 Ctrl + H

  • 有序列表 Ctrl + O

  • 無序列表 Ctrl + U

  • 橫線 Ctrl + R

  • 撤銷 Ctrl + Z

  • 重做 Ctrl + Y

Markdown及擴充套件

Markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的HTML頁面。 —— [ 維基百科 ]

使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立一個連結等,詳細語法參考幫助?。

本編輯器支援 Markdown Extra ,  擴充套件了很多好用的功能。具體請參考Github.

表格

Markdown Extra 表格語法:

專案 | 價格

——– | —

Computer | $1600

Phone | $12

Pipe | $1

可以使用冒號來定義對齊方式:

| 專案 | 價格 | 數量 |

| :——– | ——–:| :–: |

| Computer | 1600 元 | 5 |

| Phone | 12 元 | 12 |

| Pipe | 1 元 | 234 |

定義列表

Markdown Extra 定義列表語法:

專案1

專案2

定義 A

定義 B

專案3

定義 C

定義 D

定義D內容

程式碼塊

程式碼塊語法遵循標準markdown程式碼,例如:


@requires_authorization

def somefunc(param1='', param2=0):

    '''A docstring'''

    if param1 > param2: # interesting

        print 'Greater'

    return (param2 - param1 + 1) or None

class SomeClass:

    pass

>>> message = '''interpreter

... prompt'''

腳註

生成一個腳註1.

目錄

[TOC]來生成目錄:

數學公式

  • 行內公式,數學公式為:Γ(n)=(n1)!nN

  • 塊級公式:

x=b±b24ac2a

更多LaTex語法請參考 這兒.

UML 圖:

可以渲染序列圖:

Created with Raphaël 2.1.0張三張三李四李四嘿,小四兒, 寫部落格了沒?李四愣了一下,說:忙得吐血,哪有時間寫。

或者流程圖:

Created with Raphaël 2.1.0開始我的操作
  • 關於 序列圖 語法,參考 這兒,

  • 關於 流程圖 語法,參考 這兒.

離線寫部落格

即使使用者在沒有網路的情況下,也可以通過本編輯器離線寫部落格(直接在曾經使用過的瀏覽器中輸入write.blog.csdn.net/mdeditor即可。Markdown編輯器使用瀏覽器離線儲存將內容儲存在本地。

使用者寫部落格的過程中,內容實時儲存在瀏覽器快取中,在使用者關閉瀏覽器或者其它異常情況下,內容不會丟失。使用者再次開啟瀏覽器時,會顯示上次使用者正在編輯的沒有發表的內容。

部落格發表後,本地快取將被刪除。 

使用者可以選擇 把正在寫的部落格儲存到伺服器草稿箱,即使換瀏覽器或者清除快取,內容也不會丟失。

注意:雖然瀏覽器儲存大部分時候都比較可靠,但為了您的資料安全,在聯網後,請務必及時發表或者儲存到伺服器草稿箱

瀏覽器相容

  1. 目前,本編輯器對Chrome瀏覽器支援最為完整。建議大家使用較新版本的Chrome。

  2. IE9以下不支援

  3. IE9,10,11存在以下問題

    1. 不支援離線功能

    2. IE9不支援檔案匯入匯出

    3. IE10不支援拖拽檔案導

  1. 這裡是 腳註內容.