web自動化——使用Unittest框架,addTest()單個case的時候卻執行全部的case

以下是代碼

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

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章