1. 程式人生 > 程式設計 >Python unittest基本使用方法程式碼例項

Python unittest基本使用方法程式碼例項

基本使用

import unittest
class Testcase(unittest.TestCase):
  @classmethod
  def setUpClass(cls):
    pass
  @classmethod
  def tearDownClass(cls):
    pass
  
  def setUp(self):
    pass
  def tearDown(self):
    pass
  def test01(self):
    print("01")
  def test02(self):
    print("02")
if __name__ == "__main__":
  unittest.main()

斷言的使用

unittest的執行順序:

並不是按照程式碼順序,而是按照函式名稱順序;

通過新增執行的順序

if __name__ == "__main__":
#unittest.main()
suite = unittest.TestSuite()
'''
suite.addTest(TestCase01('test_06'))
suite.addTest(TestCase01('test_04'))
suite.addTest(TestCase01('test_02'))
suite.addTest(TestCase01('test_05'))
suite.addTest(TestCase01('test_01'))
suite.addTest(TestCase01('test_07'))
'''
tests =[TestCase01('test_06'),TestCase01('test_02'),TestCase01('test_03'),TestCase01('test_05'),TestCase01('test_01')]
suite.addTests(tests)
runner = unittest.TextTestRunner()
runner.run(suite)

unittest中套件的運用

有多個測試指令碼py檔案時,需要一次性執行測試指令碼

import unittest
import sys
sys.path.append("dir")添加當前工程目錄
from Unittest.test_case01 import Testcase01
from Unittest.test_case01 import Testcase02
testcase01 = unittest.TestLoader().loadTestsFromTestCase(Testcase01)
testcase02 = unittest.TestLoader().loadTestsFromTestCase(Testcase02)
suote = unittest.TestCase([testcase01,testcase02])
unittest.TextTestRunner().run(suote)

unittest 中條件控制跳過case

@unittest.skip("這個case不執行")
def test_07(self):
  print("執行case07")
  flag = "adfadfadfadfadsfaqeewr"
  s = "fads"
  self.assertIn(s,flag,msg="不包含")
@unittest.skipIf(4==5,"執行")
def test_01(self):
  print("執行case01")
  # res = requests.get(url=url,params=data).json()
  data1 = {
    "user": "11111"
  }
  self.assertDictEqual(data1,data)

unittest中case的批量管理

import unittest
import sys
import os
sys.path.append("dir")添加當前工程目錄
from Unittest.test_case01 import Testcase01
from Unittest.test_case01 import Testcase02

case_path = os.getcwd() + '/Unittestcase'
discover = unittest.defaultTestLoader.discover(case_path)

unittest.TextTestRunner().run(discover)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。