使用doctest单元测试方式培训讲解:Python字符串格式化(适合测试工程师的学习方法)

本文采用Python doctest单元测试的方法,直接用代码学习代码,滚雪球式的迭代学习。

doctest是一个python标准库自带的轻量单元测试工具,适合实现一些简单的单元测试。它可以在docstring中寻找测试用例并执行,比较输出结果与期望值是否符合。

运行命令

python -m doctest -v dtest.py 

如果doctest通过,不会有任何输出。可以加-v参数来查看测试细节。

 关于doctest的简单使用请参考:http://mickhan.blog.51cto.com/2517040/944294

'''
Python 提供了两种字符串格式化⽅方法,除了熟悉的 C 样式外,还有更强⼤的 format。
*******************************************************
格式:%[(key)][flags][width][.precision]typecode
标记:- 左对⻬齐,+ 数字符号,# 进制前缀,或者⽤用空格、0 填充。
*******************************************************

>>> dictA = dict(key='a', value=23); print(dictA)
{'key': 'a', 'value': 23}

>>> '%(key)s = %(value)d' % dictA
'a = 23'

>>> "[%-10s]" % 'abc'   # 左对齐
'[abc       ]'

>>> "[%10s]" % 'abc'    # 右对齐
'[       abc]'

>>> "%+d, %+d" % (5, -6)
'+5, -6'

>>> "%05d" % 12         # 填充
'00012'

>>> "%0.2f" % 2.345     # 小数
'2.35'

>>> "%#X; %x" % (100,100)
'0X64; 64'


********************************************************************
format 方法⽀支持更多的数据类型,包括列表、字典、对象成员等。
{field!convertflag:formatspec}
格式化规范:
formatspec: [[fill]align][sign][#][0][width][.precision][typecode]
********************************************************************

>>> "{key}={value}".format(key='a',value=10)
'a=10'

>>> "{0},{1},{0}".format(12,34)    # filed可多次使用
'12,34,12'

>>> "{0:,}; {1:,.2f}; {1:.2f}".format(1234567,123456.789)   # 千分位,带小数
'1,234,567; 123,456.79; 123456.79'

>>> "{0:<5};{1:^5};{2:>5};{3:*^5}".format('a','b','c','d')
'a    ;  b  ;    c;**d**'

>>> import sys
>>> "{0.platform}".format(sys)
'darwin'

'''


if __name__ == "__main__":
    import doctest
    doctest.testmod()

 

posted @ 2017-10-15 22:21  aiTest  阅读(482)  评论(1编辑  收藏  举报