每次講到unittest測試框架的時候,經常有同學在群里反映,為啥我的運行不是按照我往suite里添加的用例順序執行的,為什么別人的能跑出來報告,我的就不行...
當然,首先確認代碼是OK的,如果代碼沒有問題,那多半就是執行方式不太對了,我們分別來看看兩種執行方式。
01
unittest 執行方式
這種執行方式是pycharm自帶的,首先看一下下面這段測試代碼:
import unittest
class TestCase(unittest.TestCase):
def setUp(self):
print("Before every test case!")
def test_case_01(self):
print("this is test case 1")
def test_case_02(self):
print("this is test case 2")
#大家可以認為這是一個類似於
if __name__ == "__main__":
unittest.main()
如果想運行這段代碼,我們可以直接在PyCharm中if __name__ == "__main__": 這一句的下面擊右鍵,然后選擇 run unittest for teststudy
這樣就是調用PyCharm中的unittest插件運行了我們當前這個測試類。
PyCharm中的unittest插件功能很強大,不僅可以運行整個測試類,還可以選擇其中某一個測試用例執行,比如,我只想執行test_case_01,可以將鼠標移到test_case_01區域,然后點擊右鍵,這樣可以實現執行單獨一條測試用例。

或者,可以點擊測試用例左邊的小運行圖標,都可以實現執行單條測試用例

上面的這些執行方式雖然入口不一樣,但是都是借助PyCharm的unittest插件進行運行,這種執行方式的缺點是依賴PyCharm,以及無法生成報告,如果想生成測試報告,就要考慮Python運行方式。
02
Python運行方式
Python運行方式可以直接在命令行中調用。

在這里,要注意,只有添加了這段代碼,才能喚醒神龍,調用起Python運行方式
if __name__ == "__main__":
unittest.main()
這段代碼可以理解為是一個主函數,當前這個Python文件的入口。
當然除了在命令行,我們也可以在PyCharm中添加運行方式,選擇Edit Configurations

點開之后,發現里面已經有了一些運行方式,通過名稱可以看出來,這些都是unittest的運行方式。

那Python的運行方式如何添加呢,我們可以點擊左上角的+號,選擇Python

然后將我們添加的這個文件添加到script path 中

接着,我們就能在右上角看到我們剛剛添加的運行方式,直接選擇這個運行按鈕,就可以用Python的運行方式去運行了

如果后面要添加報告應用或者用testsuite組織用例順序,只要在if __name__ == "__main__": 代碼后面添加,然后直接用Python方式運行就可以了。
例如:
最后,希望本文可以幫助大家。
作 者:Testfan Chris
出 處:微信公眾號:自動化軟件測試平台
版權說明:歡迎轉載,但必須注明出處,並在文章頁面明顯位置給出文章鏈接