国内最专业的IT技术学习网

UI设计

当前位置:主页 > UI设计 >

Python中的两个测试工具

发布时间:2019/08/28标签:   测试    点击量:

原标题:Python中的两个测试工具
当咱们在写顺序的时间,咱们须要经过测试来考证顺序能否犯错或许存在成绩,然而,编写大批的测试来确保顺序的每个细节都没成绩会显得很烦琐。在Python中,咱们能够借助一些尺度模块来关心咱们主动实现测试进程,比方: unittest: 一个通用的测试框架; doctest: 一个更简略的模块,是为检讨文档而计划的,但也十分合适用来编写单位测试。上面,笔者将会简略先容这两个模块在测试中的利用。doctestdoctest模块会搜寻那些看起来像是python交互式会话中的代码片断,而后实验履行并考证成果。上面咱们以doctest.testmod为例,函数doctest.testmod会读取模块中的全部文档字符串,查找看起来像是从交互式说明器中摘取的示例,再检讨这些示例能否反应了现实情形。咱们先创立示例代码文件test_string_lower.py,完全代码以下:#-*-coding:utf-8-*-defstring_lower(string):'''前往一个字符串的小写:paramstring:type:str:return:thelowerofinputstring>>>string_lower('AbC')'abc'>>>string_lower('ABC')'abc'>>>string_lower('abc')'abc''''returnstring.lower()if__name__=='__main__':importdoctest,test_string_lowerdoctest.testmod(test_string_lower)起首先对顺序停止阐明,函数string_lower用于前往输出字符串的小写,函数中的解释中,一共包括了3个测试实例,冀望尽能够地包括种种测试情形,接着在主函数中导入doctest, test_string_lower,再运转doctest中的testmod函数便可停止测试。接着,咱们开端测试。起首,在下令行中输出python test_string_lower.py,运转后会发觉甚么都没有输入,但这实在是件坏事,它标明顺序中的全部测试都经过了!那末,假如咱们想要取得更多的输入呢?可在运转剧本的时间增添参数-v,这时间下令酿成python test_string_lower.py -v,输入的成果以下:Trying:string_lower('AbC')Expecting:'abc'okTrying:string_lower('ABC')Expecting:'abc'okTrying:string_lower('abc')Expecting:'abc'ok1itemshadnotests:test_string_lower1itemspassedalltests:3testsintest_string_lower.string_lower3testsin2items.3passedand0failed.Testpassed.能够看到,顺序测试的背地仍是产生了许多事。接着,咱们实验着顺序犯错的情形,比方咱们不警惕把函数的前往写成了:returnstring.upper()这实在是前往输出字符串的小写了,而咱们测试的实例却前往了输出字符串的小写,再运转该剧本(加上参数-v),输入的成果以下:Failedexample:string_lower('abc')Expected:'abc'Got:'ABC'1itemshadnotests:test_string_lower**********************************************************************1itemshadfailures:3of3intest_string_lower.string_lower3testsin2items.0passedand3failed.***TestFailed***3failures.

版权信息Copyright ? IT技术教程 版权所有??? ICP备案编号:鲁ICP备09013610号