zoukankan      html  css  js  c++  java
  • Dive into python 实例学python (1) —— 函数和测试

    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()
  • 相关阅读:
    get函数理解
    get函数理解
    Absolute C++ 第9章字符串 编程练习4
    Absolute C++ 第9章字符串 编程练习4
    Absolute C++ 第9章字符串 编程练习4
    Absolute C++ 第9章字符串 编程练习4
    C字符串使用陷阱 “=”和“==” 学习笔记
    [Android]ListView中分割线的设置
    如何在adapter 中调用activity的方法
    Android开发中Handler的经典总结
  • 原文地址:https://www.cnblogs.com/549294286/p/3546543.html
Copyright © 2011-2022 走看看