Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19911942
  • 博文数量: 679
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 9308
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-18 10:51
文章分类

全部博文(679)

文章存档

2012年(5)

2011年(38)

2010年(86)

2009年(145)

2008年(170)

2007年(165)

2006年(89)

分类: Python/Ruby

2010-10-14 10:33:41

§11 测试、调试、评测和调

§11.2 unittest

   被测代码:

def split(line, types=None, delimiter=None):

 

    fields = line.split(delimiter)

    if types:

        fields = [ ty(val) for ty,val in zip(types,fields) ]

    return fields

测试代码:

# testsplitter.py

import splitter

import unittest

# Unit tests

class TestSplitFunction(unittest.TestCase):

    def setUp(self):

        # Perform set up actions (if any)

        pass

    def tearDown(self):

        # Perform clean-up actions (if any)

        pass

    def testsimplestring(self):

        r = splitter.split('GOOG 100 490.50')

        self.assertEqual(r,['GOOG','100','490.50'])

    def testtypeconvert(self):

        r = splitter.split('GOOG 100 490.50',[str, int, float])

        self.assertEqual(r,['GOOG', 100, 490.5])

    def testdelimiter(self):

        r = splitter.split('GOOG,100,490.50',delimiter=',')

        self.assertEqual(r,['GOOG','100','490.50'])

# Run the unittests

if __name__== '__main__':

    unittest.main()

 

执行结果:

...

----------------------------------------------------------------------

Ran 3 tests in 0.000s

 

OK

 

   测试函数要以test开头。

更多参考:

阅读(15118) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~