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
在命令行下,直接运行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 "\nend" def test1():
print "test success!"
assert get_name() == "test" def test2():
print "\ntest 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
Python_单元测试工具nose的更多相关文章
- 一种数据与逻辑分离的Python单元测试工具
一种数据与逻辑分离的Python单元测试工具 几个概念 TestCase TestCase是一个完整的测试单元,最小的测试执行实体,就是我们常说的测试用例. TestSuite 以某种特性将测试用例组 ...
- Python测试工具——nose
1.nose 特点: a) 自动发现测试用例(包含[Tt]est文件以及文件包中包含test的函数) b) 以test开头的文件 c) 以test开头的 ...
- 主流的单元测试工具之-JAVA新特性-Annotation 写作者:组长 梁伟龙
1:什么是Annotation?Annotation,即“@xxx”(如@Before,@After,@Test(timeout=xxx),@ignore),这个单词一般是翻译成元数据,是JAVA的一 ...
- codeblocks+Mingw 下配置开源c++单元测试工具 google test
google test 是google的c++开源单元测试工具,chrome的开发团队就是使用它. Code::Blocks 12.11(MinGW 4.7.1) (Windows版)Google T ...
- PHP单元测试工具PHPUnit初体验
今天接到了个任务,需要对数字进行计算,因为涉及到整数,小数,和科学计数法等很多条件,所以人工测试非常麻烦,于是想到了PHP的单元测试工具PHPUnit,所以写个文档备查. 看了PHPUnit的文档之后 ...
- 单元测试工具之Xunit
在.NET开发中的单元测试工具之——xUnit.Net 原始出处 http://zhoufoxcn.blog.51cto.com/792419/1172320 在上一篇<在.NET开发中的单元 ...
- Java单元测试工具:JUnit4(一)(二)(三)(四)
Java单元测试工具:JUnit4(一)--概述及简单例子 Java单元测试工具:JUnit4(二)--JUnit使用详解 Java单元测试工具:JUnit4(三)--JUnit详解之运行流程及常用注 ...
- 单元测试工具 SmokeTest
.NET 程序集单元测试工具 SmokeTest Smoke Test(冒烟测试),也称Regression Test(回归测试),是对软件的安装和基本功能的测试.一般地我们使用脚本来实现Smoke ...
- Web Service单元测试工具实例介绍之SoapUI
原文 Web Service单元测试工具实例介绍之SoapUI SoapUI是当前比较简单实用的开源Web Service测试工具,提供桌面应用程序和IDE插件程序两种使用方式.能够快速构建项目和组 ...
随机推荐
- django路由系统之反向生成url
from niubin.service import v1 from django.urls import reverse from django.shortcuts import HttpRespo ...
- oracle数据向历史表数据迁移————procedure
create or replace procedure remove_refund_his_pro isbegin declare cursor refund_query_cur is select ...
- range精讲
var ec = range.endContainer endContainer不是一个引用类型 range是引用类型 range经过改变范围之后 var ec2 =range.endContaine ...
- OC导入框架方式#import、@import的区别
#import负责导入程序所需的文件的信息导入到程序中,随着程序所需的文件越来越多,程序就要导入更多的文件,这就带来了越来越长的编译时间,而且有大量重复的.为了解决这个问题可以采用以下办法解决,创建. ...
- HTML系列(3)基本的HTML标签(二)
本节继续介绍HTML的常用标签. (1)input标签之文本域(text和textarea).密码域(password): <!DOCTYPE html> <html ...
- PHPExcel读写封装
<? require_once ('inc/PHPExcel/PHPExcel/IOFactory.php'); /** * @author lgl * 使用实例 * $fieldMap=['昵 ...
- MongoDB环境配置
在官网上下载MongoDB可执行文件安装在电脑上后,想要运行需先安装路径下新建一个data文件夹,再在里面新建db文件夹用户存放数据库文件和相关配置. 在bin目录里面运行命令行: 这样MongoDB ...
- Python自然语言处理 - 系列四
一 如何使用形式化语法来描述无限的句子集合的结构? --上下位无关文法 1.1 一个例子: grammar1 = nltk.parse_cfg(""&q ...
- Java Map增删改查
示例代码: 学生类 package com.imooc.collection; import java.util.HashSet; import java.util.Set; /** * 学生类 * ...
- Prometheus Monitoring System & Time Series Database
什么是 TSDB (Time Series Database): 我们可以简单的理解为.一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的. 时间序列数据库的特点: 大部分时间都 ...