CherryPy 單元測(cè)試

2024-01-02 15:46 更新

Photoblog應(yīng)用程序不斷使用單元測(cè)試來(lái)檢查以下內(nèi)容 -

  • 新功能正常運(yùn)行并符合預(yù)期。
  • 新代碼版本不會(huì)破壞現(xiàn)有功能。
  • 缺陷是固定的并保持固定。

Python帶有標(biāo)準(zhǔn)的unittest模塊,提供不同的單元測(cè)試方法。

Unittest

unittest植根于JUnit,這是由Kent Beck和Erich Gamma開(kāi)發(fā)的Java單元測(cè)試包。 單元測(cè)試只返回定義的數(shù)據(jù)。 可以定義模擬對(duì)象。 這些對(duì)象允許針對(duì)我們?cè)O(shè)計(jì)的界面進(jìn)行測(cè)試,而不必依賴于整個(gè)應(yīng)用程序。 它們還提供了一種在隔離模式下運(yùn)行測(cè)試的方法,其中包括其他測(cè)試。

讓我們用以下方式定義一個(gè)虛擬類 -

import unittest
class DummyTest(unittest.TestCase):
def test_01_forward(self):
dummy = Dummy(right_boundary=3)
   self.assertEqual(dummy.forward(), 1)
   self.assertEqual(dummy.forward(), 2)
   self.assertEqual(dummy.forward(), 3)
   self.assertRaises(ValueError, dummy.forward)
def test_02_backward(self):
dummy = Dummy(left_boundary=-3, allow_negative=True)
   self.assertEqual(dummy.backward(), -1)
   self.assertEqual(dummy.backward(), -2)
   self.assertEqual(dummy.backward(), -3)
   self.assertRaises(ValueError, dummy.backward)
def test_03_boundaries(self):
dummy = Dummy(right_boundary=3, left_boundary=-3,allow_negative=True)
   self.assertEqual(dummy.backward(), -1)
   self.assertEqual(dummy.backward(), -2)
   self.assertEqual(dummy.forward(), -1)
   self.assertEqual(dummy.backward(), -2)
   self.assertEqual(dummy.backward(), -3)

代碼的解釋如下 -

  • 應(yīng)導(dǎo)入unittest模塊,以便為給定的類提供單元測(cè)試功能。
  • 應(yīng)該通過(guò)繼承unittest來(lái)創(chuàng)建一個(gè)類。
  • 上面代碼中的每個(gè)方法都以單詞test開(kāi)頭。 所有這些方法都由unittest處理程序調(diào)用。
  • 測(cè)試用例調(diào)用assert/fail方法來(lái)管理異常。

將此視為運(yùn)行測(cè)試用例的示例 -

if __name__ == '__main__':
unittest.main()

運(yùn)行測(cè)試用例的結(jié)果(輸出)如下 -

----------------------------------------------------------------------
Ran 3 tests in 0.000s
OK


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)