今天在github上找东西,找到个工具是python写的,但是需要安装nosetests,因此了解了下nosetests

python除了unittest,还有nosetests,使用更快捷

nosetests的口号:

  nose extends unittest to make testing easier

特点:

  自动发现测试用例(包含[Tt]est文件以及文件包中包含test的函数)

    如:以test开头的文件;以test开头的函数或方法;以Test开头的类

  nose自动收集单元测试,会自动识别源代码文件、目录或包中的测试用例,任何符合正则表达式:(?:^|[b_.-])[Tt]est的类、函数、文件或目录,以及TestCase的子类都会被识别并执行,匹配成功的包、任何python的源文件都会被当做测试用例。

1.安装

pip install nose

测试安装是否成功

nosetests -V

2.使用

常用命令

nosetests –h    查看所有nose相关命令
nosetests –s 执行并捕获输出
nosetests –with-xunit 输出xml结果报告
nosetests -w 查看指定目录下的
nosetests -v 查看nose的运行信息和调试信息

  nose支持setup和teardown函数,在测试用例的前后执行。作用域:

    1、package

      可以在__init__.py中定义

      setup方法名可以是setup, setup_package, setUp, or setUpPackage

      teardown方法名可以是teardown, teardown_package, tearDown or tearDownPackage。比如定义数据库的连接和释放

    2、module

      在模块内定义setup,setup_module, setUp or setUpModule,和/或teardown,teardown_module, or tearDownModule

    3、class

    4、function

      任何符合正则的函数都会被包装成FunctionTestCase

  testcase下面test.py

def Testfunc():
a = 1
b = 2
assert a == b

运行测试

(1)自动发现和执行

进入testcase目录执行

nosetests -v

(2)编码实现测试用例的执行

在main.py所在的目录

main.py

import nose
result = nose.run()
print(result)

执行

python main.py

3.测试用例

(1)函数形式

def test_1():
print("test_1")
pass def test_2():
print("test_2") def test_3():
print("test_3")
def setUp():
print "test setUp" def tearDown():
print "test teardown" test_1.teardown=test_2.teardown= tearDown

运行某个文件

nosetests test1.py

nosetests -s

nosetests -s test1.test_3

test_1.teardown=test_2.teardown= tearDown,说明在运行完成后就执行tearDown操作

(2)类形式

test/test2下新建test2.py

class Testclass:

    def __init__(self):
pass def testfunc1(self):
print 'this is case1' def testfunc2(self):
print 'this is case2' def testfunc3(self):
print 'this is case3'

执行

nosetests -s

执行

nosetests -v

在test目录执行

nosetests -v -s test2

nosetests -v -s test2.test2

nosetests -v -s  test2.test2:Testclass.testfunc1

nosetests -v -s test2.test2:Testclass.testfunc1

nosetests -s test2.test2:Testclass.testfunc1

补充:

  在输出文件中填加testid的显示  nosetests -v --with-id

  通过id,自定义要运行的测试用例 nosetests -v --with-id id号

  

python测试工具nosetests的更多相关文章

  1. Python测试工具——nose

    1.nose 特点: a)         自动发现测试用例(包含[Tt]est文件以及文件包中包含test的函数) b)         以test开头的文件 c)         以test开头的 ...

  2. python测试工具

    https://wiki.python.org/moin/PythonTestingToolsTaxonomy mac pip安装 https://blog.csdn.net/ywj_486/arti ...

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

    xUnit frameworks 单元测试框架frameworks 框架unittest - python自带的单元测试库,开箱即用unittest2 - 加强版的单元测试框架,适用于Python 2 ...

  4. 收藏清单: python测试框架最全资源汇总

    xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...

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

    转自: http://www.testclass.net/list/python_list_1/ xUnit frameworks(单元测试框架) frameworks 框架 unittest - p ...

  6. Python渗透测试工具合集

    摘自:http://www.freebuf.com/tools/94777.html 如果你热爱漏洞研究.逆向工程或者渗透测试,我强烈推荐你使用 Python 作为编程语言.它包含大量实用的库和工具, ...

  7. python的web压力测试工具-pylot安装使用

    http://blog.csdn.net/chenggong2dm/article/details/10106517 pylot是python编写的一款web压力测试工具.使用比较简单.而且测试结果相 ...

  8. 使用python实现测试工具(一)

    本系列教程我们将使用python实现一些简单的测试工具,为了尽可能的简单,我们的工具以命令行工具为主. 本系列教程使用的python版本是3.6.3. 背景 这一节我们实现简单的命令行发送get请求的 ...

  9. Python测试 ——开发工具库

    Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...

随机推荐

  1. 异常检测(Anomaly detection): 什么是异常检测及其一些应用

    异常检测的例子: 如飞机引擎的两个特征:产生热量与振动频率,我们有m个样本画在图中如上图的叉叉所示,这时来了一个新的样本(xtest),如果它落在上面,则表示它没有问题,如果它落在下面(如上图所示), ...

  2. Tips on Python

    python是一种解释性文件,代码要通过解释器解释运行.python解释器就是python.exe这个程序. pip也是一个pip.exe的程序,是用来管理python的第三方库. 有两种执行方式:脚 ...

  3. ipcm

    用来删除一个或更多的消息队ipcm列.信号量集或者共享内存标识

  4. 阿里云部署自己的web服务器

    阿里云部署自己的web服务器 [外链图片转存失败(img-GIKNTPPx-1564287221547)(https://upload-images.jianshu.io/upload_images/ ...

  5. Linux 服务器快速搭建 Java Web 开发环境

    搭建 Java 环境 yum list java* yum install java-1.8.0-openjdk.x86_64 -y java -version mkdir 创建文件夹 mv 修改文件 ...

  6. 「ZJOI2016」小星星

    传送门 Description Solution 容斥,考虑有多少个节点不被匹配到,求出的方案,多个点可以同时不被匹配到 状态压缩+树形dp Code  #include<bits/stdc++ ...

  7. element-ui里面的table插入多张图片

    <el-form-item label="身份证正反面" label-width="120px"> <section v-if="t ...

  8. 大数据应用期末总评(hadoop综合大作业)

    作业要求源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/3363 一.将爬虫大作业产生的csv文件上传到HDFS (1)在/usr ...

  9. javacpp, javacv: 封装了FFmpeg、OpenCV等计算机视觉编程人员常用库的接口

    jvavacpp:     一个java调用jni的库,支持安卓. javacv:      封装了FFmpeg.OpenCV等计算机视觉编程人员常用库的接口,可以通过其中的Utility类方便的在包 ...

  10. Python多进程和多线程是鸡肋嘛?【转】

    GIL是什么 Python的代码执行由 Python虚拟机(也叫解释器主循环,CPython版本)来控制,Python在设计之初就考虑到在解释器的主循环中,同时只有一个线程在运行.即每个CPU在任意时 ...