zoukankan      html  css  js  c++  java
  • python错误、调试、测试

    1.错误,

        Python内置的try...except...finally用来处理错误十分方便。出错时,会分析错误信息并定位错误发生的代码位置才是最关键的。

       程序也可以主动抛出错误,让调用者来处理相应的错误。但是,应该在文档中写清楚可能会抛出哪些错误,以及错误产生的原因。

            处理错误:try...except...finally

            调用栈:出错的时候,一定要分析错误的调用栈信息,才能定位错误的位置。

            记录错误:

            # err_logging.py

       import logging

       def foo(s):

        return 10 / int(s)

       def bar(s): return foo(s) * 2

       def main():

        try: bar('0')

        except Exception as e:

           logging.exception(e)

       main()

       print('END')

            抛出错误:raise

    2.错误,

      print(),assert,logging,pdb,pdb.set_trace(),IDE

      import logging

     logging.basicConfig(level=logging.INFO)

    3.单元测试:

      import unittest#源代码导入单元测试模块

     $python -m unittest mytest.py #执行命令

      单元测试可以有效地测试某个程序模块的行为,是未来重构代码的信心保证。

    单元测试的测试用例要覆盖常用的输入组合、边界条件和异常。

    单元测试代码要非常简单,如果测试代码太复杂,那么测试代码本身就可能有bug。

    单元测试通过了并不意味着程序就没有bug了,但是不通过程序肯定有bug。

    4.文档测试:

      if __name__=='__main__':

       import doctest

       doctest.testmod()

  • 相关阅读:
    数据结构与算法
    c++学习笔记
    红黑树(map与unorder_map)B B+树
    数据库笔记
    多路复用IO:select poll epoll
    https加密过程!!! 这才是差不多非常详细的https双方获取共用的秘钥过程!!!!!
    助教周报(第一轮)——范青青
    第二十二周助教总结(2021.6.28-7.4)
    第二十一周助教总结(2021.6.21-6.27)
    第二十周助教总结(2021.6.14-6.20)
  • 原文地址:https://www.cnblogs.com/wuchenggong/p/8810560.html
Copyright © 2011-2022 走看看