python 測試實現(xiàn)方法
更新時間:2008年12月24日 23:08:55 作者:
使用python進行測試也足夠簡明了
1)doctest
使用doctest是一種類似于命令行嘗試的方式,用法很簡單,如下
def f(n):
"""
>>> f(1)
1
>>> f(2)
2
"""
print(n)
if __name__ == '__main__':
import doctest
doctest.testmod()
應該來說是足夠簡單了,另外還有一種方式doctest.testfile(filename),就是把命令行的方式放在文件里進行測試。
2)unittest
unittest歷史悠久,最早可以追溯到上世紀七八十年代了,C++,Java里也都有類似的實現(xiàn),Python里的實現(xiàn)很簡單。
unittest在python里主要的實現(xiàn)方式是TestCase,TestSuite。用法還是例子起步。
from widget import Widget
import unittest
# 執(zhí)行測試的類
class WidgetTestCase(unittest.TestCase):
def setUp(self):
self.widget = Widget()
def tearDown(self):
self.widget.dispose()
self.widget = None
def testSize(self):
self.assertEqual(self.widget.getSize(), (40, 40))
def testResize(self):
self.widget.resize(100, 100)
self.assertEqual(self.widget.getSize(), (100, 100))
# 測試
if __name__ == "__main__":
# 構造測試集
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase("testSize"))
suite.addTest(WidgetTestCase("testResize"))
# 執(zhí)行測試
runner = unittest.TextTestRunner()
runner.run(suite)
簡單的說,1>構造TestCase(測試用例),其中的setup和teardown負責預處理和善后工作。2>構造測試集,添加用例3>執(zhí)行測試需要說明的是測試方法,在Python中有N多測試函數(shù),主要的有:
TestCase.assert_(expr[, msg])
TestCase.failUnless(expr[, msg])
TestCase.assertTrue(expr[, msg])
TestCase.assertEqual(first, second[, msg])
TestCase.failUnlessEqual(first, second[, msg])
TestCase.assertNotEqual(first, second[, msg])
TestCase.failIfEqual(first, second[, msg])
TestCase.assertAlmostEqual(first, second[, places[, msg]])
TestCase.failUnlessAlmostEqual(first, second[, places[, msg]])
TestCase.assertNotAlmostEqual(first, second[, places[, msg]])
TestCase.failIfAlmostEqual(first, second[, places[, msg]])
TestCase.assertRaises(exception, callable, ...)
TestCase.failUnlessRaises(exception, callable, ...)
TestCase.failIf(expr[, msg])
TestCase.assertFalse(expr[, msg])
TestCase.fail([msg])
使用doctest是一種類似于命令行嘗試的方式,用法很簡單,如下
復制代碼 代碼如下:
def f(n):
"""
>>> f(1)
1
>>> f(2)
2
"""
print(n)
if __name__ == '__main__':
import doctest
doctest.testmod()
應該來說是足夠簡單了,另外還有一種方式doctest.testfile(filename),就是把命令行的方式放在文件里進行測試。
2)unittest
unittest歷史悠久,最早可以追溯到上世紀七八十年代了,C++,Java里也都有類似的實現(xiàn),Python里的實現(xiàn)很簡單。
unittest在python里主要的實現(xiàn)方式是TestCase,TestSuite。用法還是例子起步。
復制代碼 代碼如下:
from widget import Widget
import unittest
# 執(zhí)行測試的類
class WidgetTestCase(unittest.TestCase):
def setUp(self):
self.widget = Widget()
def tearDown(self):
self.widget.dispose()
self.widget = None
def testSize(self):
self.assertEqual(self.widget.getSize(), (40, 40))
def testResize(self):
self.widget.resize(100, 100)
self.assertEqual(self.widget.getSize(), (100, 100))
# 測試
if __name__ == "__main__":
# 構造測試集
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase("testSize"))
suite.addTest(WidgetTestCase("testResize"))
# 執(zhí)行測試
runner = unittest.TextTestRunner()
runner.run(suite)
簡單的說,1>構造TestCase(測試用例),其中的setup和teardown負責預處理和善后工作。2>構造測試集,添加用例3>執(zhí)行測試需要說明的是測試方法,在Python中有N多測試函數(shù),主要的有:
TestCase.assert_(expr[, msg])
TestCase.failUnless(expr[, msg])
TestCase.assertTrue(expr[, msg])
TestCase.assertEqual(first, second[, msg])
TestCase.failUnlessEqual(first, second[, msg])
TestCase.assertNotEqual(first, second[, msg])
TestCase.failIfEqual(first, second[, msg])
TestCase.assertAlmostEqual(first, second[, places[, msg]])
TestCase.failUnlessAlmostEqual(first, second[, places[, msg]])
TestCase.assertNotAlmostEqual(first, second[, places[, msg]])
TestCase.failIfAlmostEqual(first, second[, places[, msg]])
TestCase.assertRaises(exception, callable, ...)
TestCase.failUnlessRaises(exception, callable, ...)
TestCase.failIf(expr[, msg])
TestCase.assertFalse(expr[, msg])
TestCase.fail([msg])
相關文章
Python教程使用Chord包實現(xiàn)炫彩弦圖示例
在可視化中,有時候會使用到弦圖(Chord Diagram)來表示事物之間關系,本篇文章教大家如何使用Chord包實現(xiàn)炫彩弦圖,有需要的朋友可以借鑒參考下,希望大家多多進步,早日升職加薪2021-09-09
Python內置的字符串處理函數(shù)詳細整理(覆蓋日常所用)
Python內置的字符串處理函數(shù)整理,有字母處理、格式化相關、字符串搜索相關、字符串替換相關等等2014-08-08
淺析Python中壓縮zipfile與解壓縮tarfile模塊的使用
Python?提供了兩個標準庫模塊來處理文件的壓縮和解壓縮操作:zipfile和tarfile,本文將分享?這兩個模塊的使用方法,感興趣的小伙伴可以跟隨小編一起學習一下2023-10-10

