- 浏览: 565321 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (181)
- python (48)
- django (35)
- 数据库 (22)
- openfire (5)
- 技术.生活 (7)
- Linux (17)
- 管理工具 (7)
- opencv (4)
- wxpython (2)
- solr (1)
- LDAP (1)
- CAS (3)
- Plone (5)
- OpenERP (19)
- Pinax (1)
- satchmo (0)
- Svn (3)
- Review Board (1)
- MangoDB (3)
- Nginx (8)
- Trac (1)
- Squid (3)
- XenServer (3)
- Nagios (7)
- SSH (2)
- XML-RPC (1)
- Redis (1)
- docker (3)
最新评论
-
gonglil:
为什么我的会出现无法连接到服务器,我看了报的错误是rfb.js ...
NoVNC的使用之一: 让我们把NoVNC代理跑起来 -
u012339746:
博主能给下demo么,求联系方式,急用
django多网站用户统一认证方案:django-simple-sso -
meylovezn:
凡是pdf的网址都失效了呢,不知道现在该去哪里照你说的那 ...
OE部分技术资料 -
meylovezn:
很不错的分享呢\(^o^)/~
OpenERP预定义对象方法 -
ihitu:
opencv-几个简单用法
一、安装nose
先用easy_install 安装 nose,easy_install是一个很好的python工具,可以方便安装很多的python程序。可以去http://pypi.python.org/pypi/setuptools了解一下easy_install。如果懒得去看的,可以直接从这里下载安装文件进行安装就可以了,注意,这个链接是windows 32位的安装包。
安装完easy_install后,在相应版本的Scripts目录下(例如C:\Python26\Scripts)会有一个easy_install.exe程序,通过这个就可以安装了。在命令行下转到Python的Scripts目录下,执行以下的命令进行安装:
C:\Python26\Scripts\easy_install nose
上面的 C:\Python26\Scripts 需要根据您的Python的安装路径进行修改。
安完毕后,在C:\Python26\Scripts下会有一个nosetests.exe文件,通过这个exe程序就可以在命令行下运行测试了。最好是把C:\Python26\Scripts加入环境变量,这样在其它目录中可以直接引用nosetests.exe。
二、运行测试
在命令行下,直接运行nosetests(注意要把nosetests.exe所在的目录加入到环境变量Path里面),它就会自动查找当前目录下包含"Test"字符串的目录和文件进行测试。例如如下的目录结构:
如果我们在C:\PythonTestRoot下运行nosetests,那么nose会自动找到TestUnit1文件夹,然后在找到 Test2.py和TestSomething.py两个文件进行测试,我的两个文件中各有两个方法,一共有四个测试:
这样我们可以把所有测试放在一起,然后让测试自己去运行,我们最后看结果就可以了。我们可以指定具体如何输出结果,也可以指定如何搜索文件和文件夹,还可以把测试结果输入到指定的文件,在nosetests后面加上一些命令行参数就可以,参数如何设置在最后面介绍。
三、编写测试
上面说的运行测试其实非常简单,写好测试放到一个文件夹里面,然后在这个文件夹里面执行nosetests就可以了。编写测试也非常简单:
a)简单的测试
======================= #### file: test.py #### ======================= def Testfunc(): a = 1 b = 2 assert a == b
把上面的文件保存到一个目录下,然后在该目录下在命令行里执行nosetests就可以运行测试了。
b)模块的setUp和tearDown
def setUp(): print "function setup" def tearDown(): print "function teardown" def Testfunc1(): print "Testfunc1" assert True def Testfunc2(): print "Testfunc2" assert True
nose在文件中如果找到函数setup, setup_module, setUp 或者setUpModule等,那么会在该模块的所有测试执行之前执行该函数。如果找到函数 teardown,tearDown, teardown_module或者 tearDownModule 等,那么会在该模块所有的测试执行完之后执行该函数。
对于上面的代码,nose实际的执行过程是这样的:
setUp()->Testfunc1()->Testfunc2()->tearDown()
c)测试函数的setUp和tearDown
可能会想给每个函数单独指定类似的setUp和tearDown函数,可以如下处理:
def setUp(): print "function setup" def tearDown(): print "function teardown" def func1Start(): print "func1 start" def func1End(): print "func1 end" def func2Start(): print "func2 start" def func2End(): print "func2 end" def Testfunc1(): print "Testfunc1" assert True def Testfunc2(): print "Testfunc2" assert True Testfunc1.setup = func1Start Testfunc1.tearDown = func1End Testfunc2.setup = func2Start Testfunc2.tearDown = func2End注意最后面的四行,分别指定了Testfunc1和Testfun2的setup和teardown函数。
nose对上面代码的具体执行顺序如下:
setUp()->func1Start()->Testfunc1()->func1End()->func2Start()->Testfunc2()->func2End()->tearDown()
上面的代码也可以换一种写法如下,注意记得 import with_setup:
from nose.tools import with_setup def setUp(): print "function setup" def tearDown(): print "function teardown" def func1Start(): print "func1 start" def func1End(): print "func1 end" def func2Start(): print "func2 start" def func2End(): print "func2 end" @with_setup(func1Start, func1End) def Testfunc1(): print "Testfunc1" assert True @with_setup(func2Start, func2End) def Testfunc2(): print "Testfunc2" assert True
d)测试类的的setUp和tearDown
看如下的代码:
class TestClass(): arr1 = 2 arr2 = 2 def setUp(self): self.arr1 = 1 self.arr2 = 3 print "MyTestClass setup" def tearDown(self): print "MyTestClass teardown" def Testfunc1(self): assert self.arr1 == self.arr2 def Testfunc2(self): assert self.arr1 == 2这里nose会对每个类的测试方法单独创建类的实例,并且有单独的setUp和tearDown。nose对上面测试的顺序如下:
setUp()->Testfunc1()->TearDown()->setUp()->Testfunc2()->TearDown()
e)package的setUp和tearDown
package的setUp和tearDown方法需要放在__init__.py这个文件中,整个package只执行一次setUp和一次tearDown。
四、nosetest常用的命令行参数
这里只重点介绍几个常用的,其它的参数可以通过nosetests -h进行查看。
a) -w ,指定一个目录运行测试。目录可以是相对路径或绝对路径。
例如: nosetest -w c:\pythonTests\Test1,只运行目录c:\pythonTests\Test1下的测试。可以指定多个目录,例如: nosetest -w c:\pythonTests\Test1 -w c:\pythonTests\Test2。
b)-s,不捕获输出,会让你的程序里面的一些命令行上的输出显示出来。例如print所输出的内容。
c)-v,查看nose的运行信息和调试信息。例如会给出当前正在运行哪个测试。
发表评论
-
sentry环境搭建( django )
2018-08-07 14:13 2029参考1: http://codingcrush.me/20 ... -
如何利用sphinx自动生成文档
2018-08-02 15:15 1629参考如下: 1. http://www.huangwen ... -
如何利用apidoc自动生成文档
2018-08-02 13:44 1752参考如下: 1. http://apidocjs.com ... -
python处理非utf8编码文件转为utf8
2015-12-08 13:41 32241 判断文件的编码 import chardet ... -
word文档转pdf
2015-11-04 09:49 736环境: ubuntu 14.04 + python2. ... -
apache2使用mpm_worker , php5不能使用的解决方法
2014-11-08 09:20 1876参考 : http://www.ehow ... -
Nginx + Uwsgi + django 部署
2014-12-05 11:54 12061. 安装 nginx 写道 sudo add-apt ... -
NoVNC的使用之二: 将Novnc整合进django项目
2014-09-28 15:38 2692上一篇已经讲了如 ... -
NoVNC的使用之一: 让我们把NoVNC代理跑起来
2014-09-25 18:10 19608写道 NoVNC 正是我们需要的 HTML5 VNC 客 ... -
python subprocess 小记
2014-08-21 11:35 9461. Python subprocess模块 2. 小心s ... -
用cherrypy来代替django的runserver
2014-06-05 16:01 1554django自带的runserver在开发环境时确实相 ... -
发送图片附件邮件
2014-03-14 14:10 929def sendMail(from_email, to_em ... -
python之soap(soaplib(server),suds(client))
2014-03-11 16:02 4249如何用python实现soap协议并搭建webservice ... -
python编程规范
2014-02-28 10:14 9587程序模板 @FileName: @Author:x ... -
django绝对域名的切换
2014-02-26 10:04 4359描述 为了SEO建设,试图将icgoo网站上的所有相对链接 ... -
django多数据库的实现
2014-02-26 09:57 2978参考文档: * https://docs.djan ... -
Django settings之完美设计
2014-02-26 09:53 1088起因 写道 settings文件是网站最为关键的配置文件 ... -
django RestFrameWork的简单测试
2014-02-26 09:47 9612描述 写道 在icgoo中添加restframework ... -
XML-RPC简单python实现
2014-02-25 11:19 1275将数据定义为xml格式,通过http协议进行远程传输 写道 ... -
用python访问SqlServer
2014-02-24 11:59 3743在ubuntu下用python访问windows200 ...
相关推荐
Various test automation libraries for Python, such as doctest, unittest, nose, nose2, and pytest Test-driven development and best practices for test automation in Python Code examples and exercises ...
Quickly learn how to automate unit testing of Python 3 code with Python 3 automation libraries, such as doctest, unittest, nose, nose2, and pytest. This book explores the important concepts in ...
Python测试框架之nose Python测试框架之nosePython测试框架之nosePython测试框架之nosePython测试框架之nosePython测试框架之nose
1. 关于Nose nose项目是于2005年发布的,也就是 py.test改名后的一年。它是由 Jason Pellerin 编写的,支持与 py.test 相同的测试习惯做法,但是这个包更容易安装和...本文主要介绍nose框架编写自动化测试用例的方法。
本文介绍了Python nose单元测试框架的安装与使用 ,分享给大家,具体如下: 安装(Python2下安装) pip install nose 原理与命名规则 Nose会自动查找源文件、目录或者包中的测试用例,符合正则表达式(?:^|[\b_\.%s-...
Title: Test- Driven Python Development Author: Siddharta Govindaraj Length: 300 pages Edition: 1 Language: English Publisher: Packt Publishing Publication Date: 2015-03-31 ISBN-10: 1783987928 ISBN-13:...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
资源分类:Python库 所属语言:Python 资源全名:nose2-test-timer-0.0.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
离线安装包,亲测可用
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
$ python test_unittest.py F... ====================================================================== FAIL: test_failing (__main__.TestCompare) --------------------------------------------------------...
资源分类:Python库 所属语言:Python 资源全名:nose-parameterized-0.3.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
python测试工具--nose 项目是于2005 年发布的,也就是 py.test改名后的一年。它是由 Jason Pellerin 编写的,支持与 py.test 相同的测试习惯做法,但是这个包更容易安装和维护。
官方离线安装包,亲测可用
标准官方nose测试框架文档,包含内置插件用法,及扩展插件方法,很好用的test框架
资源分类:Python库 所属语言:Python 资源全名:nose_launchable-0.3.2-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
The Python unit testing framework, originally referred to as “PyUnit” and now known as unittest, is a framework that makes it easier for you to write automated test suites efficiently in Python....
资源来自pypi官网。 资源全名:paratest-python-nose-0.0.1.tar.gz