zoukankan      html  css  js  c++  java
  • Python_单元测试工具nose

    一、nose的API

    nose的API地址:http://pythontesting.net/framework/nose/nose-introduction/

    二、安装nose

      先用easy_install 安装 nose,easy_install是一个很好的Python工具,可以方便安装很多的python程序。python2.6及之后的版本,默认带easy_install工具。

      安装完easy_install后,在相应版本的Scripts目录下(例如C:/Python26/Scripts)会有一个easy_install.exe程序,通过这个就可以安装其他python包了。在命令行下转到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"字符串的目录和文件进行测试。
    这样我们可以把所有测试case放在一起,然后让测试自己去运行,我们最后看结果就可以了。我们可以指定具体如何输出结果,也可以指定如何搜索文件和文件夹,还可以把测试结果输入到指定的文件。

    三、编写测试

    (1)待测试的函数 (name.py) 

    # -*- coding: utf-8 -*-
    
    """
        file: name.py
    """
    
    def get_name():
        return "test"

    (2)测试脚本(test_tests.py)

    # -*- coding: utf-8 -*-
    
    from name import get_name
    
    def setUp():
        print "start"
        
    def tearDown():
        print "
    end"
    
    def test1():
        print "test success!"
        assert get_name() == "test"
    
    def test2():
        print "
    test fail!"
        assert get_name == "kk"

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

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

      setUp()->test1()->test2()->tearDown()

    (3)运行的结果

    四、其他

       1. nosetests常用的命令行参数

      这里只重点介绍几个常用的,其它的参数可以通过nosetests -h进行查看。

    a) -w ,指定一个目录运行测试。

    b)-s,不捕获输出,会让你的程序里面的一些命令行上的输出显示出来。例如print所输出的内容。

    c)-v,查看nose的运行信息和调试信息。例如会给出当前正在运行哪个测试。

      2. 此文件的参考:http://blog.csdn.net/linda1000/article/details/8533349

  • 相关阅读:
    PHP 实现Word,excel等转换pdf
    ajax提交表单
    HDOJ题目2089 不要62(数位DP)
    linux中断子系统:中断号的映射与维护初始化mmap过程
    hdu 1548
    怎样高效利用GitHub(非常多资料可供下载)
    MySQL命令学习(一)
    Error-Javascript:错误:页面文档类型(DOCTYPE)未声明!
    Un-Error-ASP.NET:无法加载协定为“YlbService.MMSHServicesSoap”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。
    故事-民间故事:《石头汤》
  • 原文地址:https://www.cnblogs.com/zhuhaiying/p/6268527.html
Copyright © 2011-2022 走看看