PyCharm上unittest 測試用例兩種執行方式


每次講到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方式運行就可以了。

例如:

 

 

Python運行方式不依賴於PyCharm,不需要PyCharm啟動就可以調用,便於以后直接在CMD下調用或者添加到Jenkins中。

最后,希望本文可以幫助大家。

作  者:Testfan  Chris

出  處:微信公眾號:自動化軟件測試平台

版權說明:歡迎轉載,但必須注明出處,並在文章頁面明顯位置給出文章鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM