python测试框架--nose

最近再浏览Python自动化测试框架,之前接触过unittest,看了篇文章,发现nose貌似更牛逼一些,于是安装试了试,分享一下心得。

nose 项目是于 2005 年发布的,也就是 py.test 改名后的一年。它是由 Jason Pellerin 编写的,支持与 py.test 相同的测试习惯做法,但是这个包更容易安装和维护。尽管 py.test 在某些方面有所进步,目前也很容易安装,但是 nose 仍然保持了易用性方面的声誉。

首先安装nose,当然前提是已经安装部署完成python,从网上获取程序包,https://pypi.python.org/pypi/nose/选择相应的版本下载,tar -zxvf nosexxxx,python setup.py insatll 当然也可以用easy_install

测试nose是否安装成功,输入nosetests,有提示之类就证明哦了。

编写一个简单的测试用例

在命令行下执行nosetests 即可。

注意:测试代码保存的文件必须以Test或test开头.然后在该目录下执行nosetests

setup和teardown

setup:在测试用例开始时被执行

teardown:在测试用例结束后被执行

nose在文件中如果找到函数setup, setup_module, setUp 或者setUpModule等,那么会在该模块的所有测试执行之前执行该函数。如果找到函数 teardown,tearDown, teardown_module或者 tearDownModule 等,那么会在该模块所有的测试执行完之后执行该函数。 

对于上面的代码,nose实际的执行过程是这样的:  

setUp()->Testfunc1()->Testfunc2()->tearDown()

nose常用参数

nosetests  –v :debug模式,看到具体执行情况,推荐大家执行时用这个选项

nose会捕获标准输出,调试的print代码默认不会打印。nosetest  –s 可打开output输出,否则全部通过时不打印stdout。

默认nosetests会执行所有的case,若想单独只执行一个case,执行nosetest --tests 后跟要测试的文件(nosetests后面直接跟文件名,其实也可以直接运行该case)。

nosetests --collect-only -v :不运行程序,只是搜集并输出各个case的名称

nosetests -x  :一旦case失败立即停止,不执行后续case

-w ,指定一个目录运行测试。目录可以是相对路径或绝对路径

上述文件执行 nosetests -s 即可看到调用顺序。

nose测试单个文件或用例

nosetests命令后加文件路径来运行单个.py测试文件或指定运行某个case,文件名支持正则匹配

nosetest a.py    
     
     
  运行test_a.py中所有用例

nosetest test_a.py:testfunc  
  运行test_a.py中的testfunc用例

代码覆盖率统计,要用到coverage,详细的打算再写一篇blog。nosetests--with-coverage执行即可

单侧的目录建议:

这个我还没太高明吧,感觉大致意思就是要对应放置?maybe。

nose的插件:

http://nose-plugins.jottit.com/

时间: 2024-07-30 03:40:12

python测试框架--nose的相关文章

python测试框架nose(一)

nose可以理解为是uittest扩张,不是pyhton自带框架,需要通过pip安装,结合allure框架,达到测试报告更加美观 a.通过pip安装 b.测试是否安装成功,通过输入  nosetests 命令 c.第一个demo: import nose def test_demo1(): print 'I am demo1' def test_demo2(): print 'I am demo2' if __name__ == '__main__': nose.main() 通过打开执行窗口,

Python测试框架之unittest和pytest

目前搜狗商城接口测试框架用的是unittest+HTMLTestRunner,case数有1097条,目前运行一次自动化测试,时长约为30分钟,期望控制在10分钟或者更短的时间内.近期打算重新优化框架,着重解决运行效率低的问题.最近调研了一下另一种主流测试框架Pytest,Pytest是一个非常成熟的全功能的Python测试框架,本文主要对比了Unittest和Pytest这两种较为流行的Python测试框架. 一.Unittest Unittest是Python标准库中自带的单元测试框架,Un

转 python测试框架最全资源汇总

转自: http://www.testclass.net/list/python_list_1/ xUnit frameworks(单元测试框架) frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Python 2.7以及后续版本 pytest - 成熟且功能强大的单元测试框架 plugincompat - pytest的执行及兼容性插件 nosetests - 让python测试更容易一点 slash 

python测试框架&&数据生成&&工具最全资源汇总

xUnit frameworks 单元测试框架frameworks 框架unittest - python自带的单元测试库,开箱即用unittest2 - 加强版的单元测试框架,适用于Python 2.7以及后续版本pytest - 成熟且功能强大的单元测试框架plugincompat - pytest的执行及兼容性插件nosetests - 让python测试更容易一点slash - python实现的单元测试框架 extensions 扩展proboscis - 仿TestNG扩展了unit

[python测试框架学习篇] 分享一个和adb相关的测试框架

https://testerhome.com/topics/7106   (user: zteandallwinner     password: same to qq ) 264768502 · #1 · 2017年01月13日 小小的建议 没缩进不能看,不如贴gist 单纯的adb的封装有很多人写了 比如我(#厚脸皮) https://github.com/264768502/adb_wrapper 比如这贴: https://testerhome.com/topics/6938 如果要处理

Python测试模块——nose

以下内容翻译自nose官方文档,因为水平有限,难免会有错误.... nose是Python平台的一个测试工具,相信用Python开发过的人都知道unittest,nose比unittest更加强大,也更加好用(注:我没有用过unittest...我还是小白....) nose使用的tests是unittest.TestCase的子类,当然你也可以自己写一些简单的测试函数以及测试类,而不一定要是unittest.TestCase的子类. 使用nose运行测试是很简单的,只要遵循简单规则来组织你的库

Python测试工具——nose

1.nose 特点: a)         自动发现测试用例(包含[Tt]est文件以及文件包中包含test的函数) b)         以test开头的文件 c)         以test开头的函数或方法 d)         以Test开头的类 nose自动收集单元测试,会自动识别源代码文件.目录或包中的测试用例,任何符合正则表达式:(?:^|[b_.-])[Tt]est的类.函数.文件或目录,以及TestCase的子类都会被识别并执行,匹配成功的包.任何python的源文件都会被当做测

[python测试框架] http接口测试框架

https://testerhome.com/topics/5631 Http 接口测试框架 (思路 + 实现中 + 开源 + 可能难产) Http 接口测试框架疑问解答 Fiddler 保存会话 (请求) 说明 由于部分内容涉及公司机密,已用字母替换,不影响阅读 实际效果 验证1000个接口平均耗时6s(看机器配置及网速) 第一次投入使用,马上发现5个接口异常并且该验证过程不到30s的时间 框架的下一步 目前已兼容我们公司所有app response body全字段验证(含字段类型) 已有思路

python自动化框架nose

python除了unittest,还有一款更快捷的nose,nose可以说是对unittest的一种简化吧 但是他不需要unittest那种必须有固有的格式,他只需要文件,类名,方法名等含有test就可以 unittest是需要手动来写discover函数来遍历用例的 Name my test modules/files starting with ‘test_’. Name my test functions starting with ‘test_’. Name my test classe