2008-10-20 56 views
3

我想編寫單元測試代碼來測試我的應用程序代碼。我有不同的方法,現在想在Python腳本中逐一測試這些方法。 但我不怎麼寫。任何人都可以給我一個python單元測試的小代碼的例子。 我很感謝如何爲方法生成單元測試代碼

回答

7

閱讀Python Library Referenceunit testing framework section

一個basic example從文檔:

import random 
import unittest 

class TestSequenceFunctions(unittest.TestCase): 

    def setUp(self): 
     self.seq = range(10) 

    def testshuffle(self): 
     # make sure the shuffled sequence does not lose any elements 
     random.shuffle(self.seq) 
     self.seq.sort() 
     self.assertEqual(self.seq, range(10)) 

    def testchoice(self): 
     element = random.choice(self.seq) 
     self.assert_(element in self.seq) 

    def testsample(self): 
     self.assertRaises(ValueError, random.sample, self.seq, 20) 
     for element in random.sample(self.seq, 5): 
      self.assert_(element in self.seq) 

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

可能最好從給定的unittest例子開始。一些標準最佳實踐:

  • 將所有測試放在項目根目錄下的tests文件夾中。
  • 爲您正在測試的每個python模塊編寫一個測試模塊。
  • 測試模塊應以字test開頭。
  • 測試方法應以字test開頭。

當你(和它不應該採取長)成爲舒適與unittest,也有一些不錯的擴展,它將使生活更容易,因爲你的測試在數量和範圍增加:

  • nose - 輕鬆找到並運行您的所有測試,等等。
  • testoob - 彩色輸出(以及更多,但這就是爲什麼我使用它)。
  • pythoscope - 尚未嘗試過,但會自動爲您的應用程序生成(失敗)測試存根。應該節省很多時間編寫樣板代碼。
相關問題