zoukankan      html  css  js  c++  java
  • 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,有提示之类就证明哦了。
       编写一个简单的测试用例
    Python <wbr>单元测试框架之Nose
     
    在命令行下执行nosetests 即可。
     
    Python <wbr>单元测试框架之Nose
    注意:测试代码保存的文件必须以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 即可看到调用顺序。
    Python <wbr>单元测试框架之Nose
     
        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。
         Python <wbr>单元测试框架之Nose
     
    nose的插件:
        http://nose-plugins.jottit.com/
     

  • 相关阅读:
    2019省赛训练组队赛4.9周二 2017浙江省赛
    #Leetcode# 49. Group Anagrams
    #Leetcode# 57. Insert Interval
    POJ 2195 Going Home
    HDU 2255 奔小康赚大钱
    HDU 1083 Courses
    HDU 2063 过山车
    POJ 3041 Asteroids
    指针的妙处
    jzoj 6273. 2019.8.4【NOIP提高组A】欠钱 (money)
  • 原文地址:https://www.cnblogs.com/timssd/p/4717971.html
Copyright © 2011-2022 走看看