zoukankan      html  css  js  c++  java
  • 单元测试

    1.doctest模块

           通过在文件字符串中加入一些程序执行的例子,那么在执行python脚本时,doctest测试框架会自动地去验证这些例子,如果有例子不通过,那么就会提示测试失败。具体使用例子如下:

    def my_square(x):
    """
    >>> my_square(2)
    4
    >>> my_square(4)
    16
    """
    return x*x
    测试代码:
    if
    __name__ == '__main__': import doctest, my_math doctest.testmod(my_math)

    2.unittest模块

    unitest是基于Java的测试框架Junit,它比doctest测试框架更灵活和强大。还以测试my_math模块中的my_square为例,看看使用unittest如何测试:

    import unittest, my_math
    
    
    class MyMathTestCase(unittest.TestCase):
        def testSquare(self):
            ret = my_math.my_square(2)
            self.failUnless(ret == 4, "test failed.")
    
    
    if __name__ == '__main__':
        unittest.main()

    备注,首先定义一个unittest.TestCase子类,其中定义一些以test开头的方法,方法名最好和要测试的方法名一样,比如testsqrt(),表示测试的是sqrt方法。

          在上面的例子,执行unittest.main()方法时,unittest框架会实例化所有unittest.TestCase的子类,并且运行所有以test开头命名的方法。例子中使用的断言语句是failUnless,其实unittest框架中有很多的断言函数。

          在测试类MyMathTestCase中,可以覆写父类中的setUp()和tearDown()函数,setUp()用于在测试用例执行前的初始化工作,与之相应的tearDown()用于测试用例执行后的善后工作。

    3.python源代码检查工具

    PyChecker和PyLint是两个可以检查python源代码的工具。它们都需要单独的安装。且有两种方式来使用它们,一种是将它们作为命令行工具来使用;一种是将它们嵌入到代码中进行检查。

    4.python程序性能检测工具

    python标准库中有一个叫做profile的分析模块,可以在检查python程序的执行性能。

    备注:

    单元测试是让程序可以工作,源代码检查可以让程序更好,最后,分析工具可以让程序更快。

    备注原文地址https://blog.csdn.net/wangjianno2/article/details/50880914

  • 相关阅读:
    主动一点
    白鱼泡湿地公园
    Google管理制度(东北分公司)
    碎嘴子
    升级的时代
    SD2.0大型网站架构讨论沙龙
    旅途摘抄《12条职场秘笈》
    fscache 调研
    lxccheckpoint 一些 比较老的资料
    folly,facebook刚刚开源的底层c++函数
  • 原文地址:https://www.cnblogs.com/1a2a/p/9772370.html
Copyright © 2011-2022 走看看