以下是代碼
import unittest
from again.base_agin.fun.calculator import Jessi
class TestCal(unittest.TestCase):
def setUp(self) -> None:
print('start')
def test01(self):
j = Jessi(1, 2)
try:
self.assertEqual(j.count(), 5)
except AssertionError as msg:
print(msg)
def test02(self):
j = Jessi(6, 2)
self.assertEqual(j.minus(), 4)
def tearDown(self) -> None:
print('end')
# if __name__ == '__main__':
# unittest.main()
suit = unittest.TestSuite() # 申請測試集套件對象
suit.addTest(TestCal('test01')) # 添加測試案例 類名(函數名)
# suit.addTest(TestCal('test02'))
runner = unittest.TextTestRunner() # 申請執行測試的對象
runner.run(suit)
可以看到測試集裏面只增加了‘test01’這一個case,但是執行結果卻是兩個case都執行了。
後來才知道,因爲運行的時候,默認 run unittest,是會運行所有的case的。只有運行py文件的時候,纔會根據測試集去運行。
更改方式:
1點擊pycharm的右上角run的下拉菜單,點擊Edit configurations
2.將Python tests裏的對應文件的py.test for…或者unittest for…的文件刪除(選中後點擊左上角的減號)
3.然後點+號,在下拉菜單中選擇Python,然後在右邊的script path裏…選中所要運行的文件
4.點擊apply &OK。此時,點擊右鍵就會發現run unittest變成了run