您的位置:首页 > 编程语言 > Python开发

Dive into python 实例学python (1) —— 函数和测试

2014-02-12 20:04 639 查看
odbchelper.py

def buildConnectionString(params):
"""Build a connection string from a dictionary

Returns string.
"""
return ";".join(["%s=%s" % (k, v) for k, v in params.items()])

if __name__ == "__main__":
myParams = {"server":"mpilgrim", \
"database":"master", \
"uid":"sa", \
"pwd":"secret"
}
print buildConnectionString(myParams)


1、'''...'''是docstring

2、join()函数是连接字符串,这里用";"分号来连接,参数是字符串列表list。

测试代码:

odbchelpertest.py

import unittest
import odbchelper

class GoodInput(unittest.TestCase):
def testBlank(self):
"""buildConnectionString handles empty dictionary"""
self.assertEqual("", odbchelper.buildConnectionString({}))
def testKnownValue(self):
"""buildConnectionString returns known result with known input"""
params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
knownItems = params.items()
knownItems.sort()
knownString = repr(knownItems)
result = odbchelper.buildConnectionString(params)
resultItems = [tuple(e.split("=")) for e in result.split(";")]
resultItems.sort()
resultString = repr(resultItems)
self.assertEqual(knownString, resultString)

class BadInput(unittest.TestCase):
def testString(self):
"""buildConnectionString should fail with string input"""
self.assertRaises(AttributeError, odbchelper.buildConnectionString, "")

def testList(self):
"""buildConnectionString should fail with list input"""
self.assertRaises(AttributeError, odbchelper.buildConnectionString, [])

def testTuple(self):
"""buildConnectionString should fail with tuple input"""
self.assertRaises(AttributeError, odbchelper.buildConnectionString, ())

if __name__ == "__main__":
unittest.main()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: