pycharm中運行腳本的方式總共有三種,分別為:unittest模式,pytest模式,普通模式,今天主要來聊一聊unittest模式執行與普通執行(因為最近在學習unittest框架,所以pytest以后再說),不多說先上腳本
1 import unittest 2 3 4 class MyTest(unittest.TestCase): 5 6 def setUp(self): 7 print("==setUp==") 8 9 def tearDown(self): 10 print("==tearDown") 11 12 def test_01(self): 13 print("--調用test_01--") 14 # 斷言是否相同,msg為斷言錯誤的提示信息 15 self.assertEqual("黃金", "黃金", msg="名字錯了") 16 17 def test_02(self): 18 print("--調用test_02--") 19 # 斷言是否正確 20 self.assertTrue("HUANGJIN".isupper(), msg="不是大寫") 21 22 23 if __name__ == "__main__": 24 print("hehe") 25 unittest.main()
這是一個簡單的unittest框架的測試用例,pycharm默認的是unittest模式去執行unittest框架的測試用例,上圖腳本中有兩條用例
1、執行單條用例
我想執行test_01用例,只要鼠標放在test_01用例所對應的區域,然后右擊,進行執行即可
輸出的結果為:
同理,我想執行test_02用例,只要鼠標放在test_02用例所對應的區域,然后右擊,進行執行即可
2、執行所有用例
如果想執行所有的用例該怎么辦?只需要將鼠標放置在test_01、test_02區域外任何位置執行即可,
如果腳本中有多個類的話,想要執行所有類中的所有用例,那么鼠標就要放在除了類以外的區域,如圖所示:
當然以上的執行都是在IDE中執行,如果在命令行模式下面進行,不加條件進行限制的話,則會執行所有用例,
還有一點很重要,在unittest模式下,IDE中是不會執行main下面的函數以及方法,只會執行testcase,所以在unittest模式下,在IDE中運行,不管main函數下面有什么,都不會執行(在命令行模式下運行腳本的話,是會執行),所以想在IDE中看測試報告之類的,要切換到普通模式中運行