2008-10-20 60 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 - 尚未尝试过,但会自动为您的应用程序生成(失败)测试存根。应该节省很多时间编写样板代码。
相关问题