Python test framework: nose 介紹 – Part 1

Python 的標準函式庫已經提供了兩個單元測試模組,分別為 doctest 與 unittest,但更值得注目的是第三方的 nose 模組。在 nose 的說明文件中,標題很清楚的寫到「nose extends unittest to make testing easier.」,它的功能比 unittest 模組還要完整。

一開始我們就先從安裝 nose 開始講起,如果你是用 UNIX-like 系統,可以透過以下兩個指令來安裝 nose:

easy_install nose

或是

pip install nose

如果沒有這些自動安裝工具,我們可以先到 nose 的 Github,把檔案下載下來後,透過以下的指令安裝:

python setup.py install

安裝完後我們就可以開始寫測試,來驗證我們寫出來的函式執行結果是否正確。

我們簡單寫了一個函式 add(),這個函式的目的是要把傳入的兩個參數值加總,然後把加總後的結果回傳,然後寫了 3 個測試函式來驗證 add() 的執行結果。測試函式名稱均以 test 開頭,程式碼如下所示:

'''
file name: testAdd.py
'''
def add(a, b):
	return a + b

def test_add_1():
	assert add(3, 4) == 7

def test_add_2():
	assert add(0, 5) == 5

def test_add_3():
	assert add(-1, 3) == 2

接著我們就可以透過執行 nose 來驗證 add() 執行的結果是否符合預期,執行指令如下所示,我們要帶入要執行測試 .py 的路徑:

nosetests testAdd.py

執行結果如下圖所示,執行了 3 個測試且結果都 Pass,表示我們寫出來的 add() 函式執行的結果如我們預期。

nose_1

我們可以再多帶入 -v (verbose) 的參數執行測試,執行的指令如下所示:

nosetests -v testAdd.py

就可以很詳細的看到每個測試案例執行的結果,如下圖所示:

nose_2

以上是對 nose 的基本介紹,之後我們會再進一步的介紹這套函式庫特別之處。

參考文章:

1. Installation and quick start — nose 1.3.4 documentation

2. Python nose test framework 介绍 – ITeye技術網站

3. nose introduction – Python Testing

廣告

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s