当前位置: 首页 > news >正文

网站设计 网站建设/网站seo关键词优化排名

网站设计 网站建设,网站seo关键词优化排名,泉州网站建设哪里好,php建设网站教程原文地址:http://blog.csdn.net/liuchunming033/article/details/51455663 doctest是python自带的一个模块。本博客将介绍doctest的两种使用方式:一种是嵌入到python源码中,另外一种是放到一个独立文件。 doctest 的概念模型 在python的官…

原文地址:http://blog.csdn.net/liuchunming033/article/details/51455663
doctest是python自带的一个模块。本博客将介绍doctest的两种使用方式:一种是嵌入到python源码中,另外一种是放到一个独立文件。

doctest 的概念模型

在python的官方文档中,对doctest是这样介绍的:

doctest模块会搜索那些看起来像是python交互式会话中的代码片段,然后尝试执行并验证结果。

从名字上是否会让你联想到docstring呢?
doctest的编写过程就像你在一个交互式shell中导入了一个被测试模块,然后一条一条执行被测试模块里面的函数一样。其实实际上doctest也是这么编写的,写好一个模块之后,在shell中测试这个模块里面的函数,将shell会话中的内容复制粘贴成doctest用例。

doctest嵌入源码中

下面的模块只有一个函数,里面嵌入了两个doctest测试用例。
unnecessary_math.py:

这个例子展示如何在源码中嵌入doctest用例。
'>>>' 开头的行就是doctest测试用例。
不带 '>>>' 的行就是测试用例的输出。
如果实际运行的结果与期望的结果不一致,就标记为测试失败。
'''
'''
这个例子展示如何在源码中嵌入doctest用例。
'>>>' 开头的行就是doctest测试用例。
不带 '>>>' 的行就是测试用例的输出。
如果实际运行的结果与期望的结果不一致,就标记为测试失败。
'''
def multiply(a, b):
    """
    >>> multiply(4, 3)
    12
    >>> multiply('a', 3)
    'aaa'
    """
    return a * b
if __name__=='__main__':import doctestdoctest.testmod(verbose=True)

有两个地方可以放doctest测试用例,一个位置是模块的最开头,另一个位置是函数声明语句的下一行(就像上面的例子这样)。除此之外的其它地方不能放,放了也不会执行。那个verbose参数,如果设置为True则在执行测试的时候会输出详细信息。默认是False,表示运行测试时,只有失败的用例会输出详细信息,成功的测试用例不会输入任何信息。
执行:

python unnecessary_math.py

运行结果:

liuchunmings-MacBook-Pro:exersice liuchunming$ python unnecessary_math.py
Trying:multiply(4, 3)
Expecting:12
ok
Trying:multiply('a', 3)
Expecting:'aaa'
ok
1 items had no tests:__main__
1 items passed all tests:2 tests in __main__.multiply
2 tests in 2 items.
2 passed and 0 failed.
Test passed.

上面启动测试的方式是在main函数中调用了doctest.testmod()方法。如果main函数有其他用途,不方便调用doctest.testmod()方法,那么可以用另外一种执行测试的方法:

$ python -m doctest unnecessary_math.py 
$ python -m doctest -v unnecessary_math.py

这里 -m 表示引用一个模块,-v 等价于 verbose=True。运行输出与上面基本一样。

doctest独立文件

如果不想将doctest测试用例嵌入到python的源码中,则可以建立一个独立的文本文件来保存测试用例。 将doctest测试用例从上面的python源码中剥离出来放到test_unnecessary_math.txt文件里。

>>> from unnecessary_math import multiply
>>> multiply(3, 4)
12
>>> multiply('a', 3)
'aaa'

这个例子展示如何将doctest用例放到一个独立的文件中。’>>>’ 开头的行就是doctest测试用例。不带 ‘>>>’ 的行就是测试用例的输出。如果实际运行的结果与期望的结果不一致,就标记为测试失败。
注意:from 那一行也要以>>>开头。
在系统的shell中执行:

python -m doctest -v test_unnecessary_math.txt
http://www.lbrq.cn/news/1399843.html

相关文章:

  • 专业网站建设的公司/最近的新闻事件
  • 非经营性网站个人可以备案吗/自己怎么优化网站排名
  • 织梦关闭网站/深圳市住房和建设局官网
  • 好听顺口的公司名字/优化营商环境条例解读
  • 有关风水的网站建设栏目/设计一个公司网站多少钱
  • 山东政府网站建设特色/优化网站关键词排名软件
  • 全国工程信息查询平台/贵港seo
  • 成都企业网站设计服务商/武汉网站建设优化
  • 周六日可以在外汇局网站做申报吗/沈阳seo排名优化软件
  • 深圳建设网站费用明细/职业培训机构有哪些
  • 个人网站相册怎么做/seo单页面优化
  • 高校二级学院网站建设管理制度/教育培训机构营销方案
  • 网站的推广方案/哪个搜索引擎最好用
  • 怎么做有趣的微视频网站/杭州网站运营十年乐云seo
  • 购物网站如何做性能测试/宁德市
  • 免费高清图片素材网站推荐/设计培训班学费一般多少
  • 网站建设技术实现/快速网站轻松排名哪家好
  • 营销型网站建设php源码/深圳seo网络推广
  • 腾云网站建设/北京网站优化
  • 网站建设合同要上印花税吗/徐州百度推广总代理
  • 电商网站开发岗位职责/seo快速优化文章排名
  • 网络信息安全/夫唯seo
  • 开发一个网站大概多少钱/免费外贸接单平台
  • 建设官网银行/汕头seo排名收费
  • 杭州做网站套餐/千锋教育培训收费一览表
  • 深圳龙岗区住房和建设局网站/windows优化大师的作用
  • 杭州 网站建设公司/营销培训课程有哪些
  • 公司网站开发完成后怎么办/百度搜索如何去广告
  • 有什么做任务的网站/电商数据统计网站
  • 免费的个人简历模板在哪找/搜索引擎优化指的是
  • 动态规划----6.单词拆分
  • 一种数字相机中的自动曝光算法
  • 微信小程序连接到阿里云物联网平台
  • 开源 C++ QT Widget 开发(一)工程文件结构
  • RocketMq消费者动态订阅topic
  • 项目一系列-第5章 前后端快速开发