您好,登錄后才能下訂單哦!
Python中怎么實現自動化測試,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1、為什么需要自動化測試?
相信大家都遇到過這樣的問題,你需要一遍一遍地在你的軟件中輸入命令,來測試軟件的功能是否正常,這個過程是很枯燥無味的。如果能寫一小段代碼用來測試你的代碼該有多好啊!因此我們就不得不需要用到自動化測試。試想一下,無論你對程序做了什么修改,或者添加了什么新東西,你只要“跑一下你的自動化測試”,而這些測試能確認程序依然能正確運行。這些自動測試不會抓到所有的 bug,但可以讓你無需重復輸入命令運行你的代碼,從而為你節約很多時間。
2、用Python編寫測試用例
下面以一段非常簡單的代碼為例,用Python寫一個簡單的測試,這個測試將建立在一個項目骨架上面。首先從你的項目骨架創建一個叫做 ex47 的項目。下面是你要采取的步驟:
第一步:復制 skeleton 到 ex47
第二步:將所有的 NAME 重命名為 ex47
第三步:修改所有文件中 NAME 為 ex47
第四步:最后刪除所有的 *.pyc 文件
接下來創建一個簡單的 ex47/game.py 文件,里邊放一些用來被測試的代碼。我們現在放一個小class進去,用來作為我們的測試對象:
準備好了這個文件,接下來把測試骨架改成這樣子:
這個文件導入了你在 ex47.game 創建的 Room 這個類,接下來我們要做的就是測試它。于是我們看到一系列的以 test_ 開頭的測試函數,它們就是所謂的“測試用例(test case)”,每一個測試用例里面都有一小段代碼,它們會創建一個或者一些房間,然后去確認房間的功能和你期望的是否一樣。它測試了基本的房間功能,然后測試了路徑,最后測試了整個地圖。
這里最重要的函數是 assert_equal ,它保證了你設置的變量,以及你在 Room 里設置的路徑和你的期望相符。如果你得到錯誤的結果的話, nosetests 將會打印出一個錯誤信息,這樣你就可以找到出錯的地方并且修正過來。
3、測試指導
在寫測試代碼時,你可以照著下面這些不是很嚴格的指導來做:
(1)測試腳本要放到 tests/ 目錄下,并且命名為 BLAH_tests.py ,否則 nosetests 就不會執行你的測試腳本了。這樣做還有一個好處就是防止測試代碼和別的代碼互相混掉。
(2)為你的每一個模組寫一個測試。
(3)測試用例(函數)保持簡短,但如果看上去不怎么整潔也沒關系,測試用例一般都有點亂。
(4)就算測試用例有些亂,也要試著讓他們保持整潔,把里邊重復的代碼刪掉。創建一些輔助函數來避免重復的代碼。當你下次在改完代碼需要改測試的時候,你會感謝我這一條建議的。重復的代碼會讓修改測試變得很難操作。
(5)最后一條是別太把測試當做一回事。有時候,更好的方法是把代碼和測試全部刪掉,然后重新設計代碼。
4、顯示結果
$ nosetests
關于Python中怎么實現自動化測試問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。