代码改变世界

python测试框架nose

2017-08-03 10:57  yongchin  阅读(9537)  评论(0编辑  收藏  举报

据说nose是一个比较牛逼的单元测试框架,今天打算来学习学习。

nose不是python自带模块,这里我才用pip的方式安装

pip install nose

 

这样就完成了安装,然后再确认下是否安装成功了,直接打开cmd输入nosetests

 

出现这个一般就说明安装成功了。

 

 

好了,下面是正戏:

nose相关执行命令:

1、  nosetests  –h查看所有nose相关命令

2、  nosetests –s执行并捕获输出

3、  nosetests –with-xunit输出xml结果报告

4、  nosetests -v: 查看nose的运行信息和调试信息 

5、  nosetests -w 目录:指定一个目录运行测试

 

nose 特点:

a)         自动发现测试用例(包含[Tt]est文件以及文件包中包含test的函数)

b)         以test开头的文件

c)         以test开头的函数或方法

d)         以Test开头的类

经过研究发现,nose会自动识别[Tt]est的类、函数、文件或目录,以及TestCase的子类,匹配成功的包、任何python的源文件都会被当做测试用例。

 

下面写一个简单的测试用例

# coding = utf-8
# author:semishigure

class Testclass:

</span><span style="color: #0000ff;">def</span> <span style="color: #800080;">__init__</span><span style="color: #000000;">(self):
    </span><span style="color: #0000ff;">pass</span>

<span style="color: #0000ff;">def</span><span style="color: #000000;"> setup(self):
    </span><span style="color: #0000ff;">print</span> <span style="color: #800000;">'</span><span style="color: #800000;">start</span><span style="color: #800000;">'</span>

<span style="color: #0000ff;">def</span><span style="color: #000000;"> teardown(self):
    </span><span style="color: #0000ff;">print</span> <span style="color: #800000;">'</span><span style="color: #800000;">stop</span><span style="color: #800000;">'</span>

<span style="color: #0000ff;">def</span><span style="color: #000000;"> testfunc1(self):
    </span><span style="color: #0000ff;">print</span> <span style="color: #800000;">'</span><span style="color: #800000;">this is case1</span><span style="color: #800000;">'</span>

<span style="color: #0000ff;">def</span><span style="color: #000000;"> testfunc2(self):
    </span><span style="color: #0000ff;">print</span> <span style="color: #800000;">'</span><span style="color: #800000;">this is case2</span><span style="color: #800000;">'</span>

<span style="color: #0000ff;">def</span><span style="color: #000000;"> testfunc3(self):
    </span><span style="color: #0000ff;">print</span> <span style="color: #800000;">'</span><span style="color: #800000;">this is case3</span><span style="color: #800000;">'</span></pre>

执行结果如下:

 

博主已搭建个人博客,更多精彩请见 《yongchin.xyz》