使用nosetests对webpy程序做单元测试

ndex.py ---- web.py主文件

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import web

urls = ("/.*", "hello")
app = web.application(urls, globals())

class hello:
    def GET(self):
        return 'Hello, world!'

app.wsgifunc()

nose_test.py ---- 测试文件脚本

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import index

app = None

class TestIndex(object):
    def setUp(self):
        print 'init in class'
        global app
        self.app = app
    def test_index(self):
        print 'test in class'
        r = self.app.request('/')
        assert r.status == '200 OK'

def setUp():
    print 'init in func'
    global app
    app = index.app

def test_index():
    print 'test in func'
    global app
    r = app.request('/')
    assert r.status == '200 OK'

测试指令

nosetests nose_test.py -v

nosetests参数说明:

  • -v:查看测试详细信息
  • -s:显示脚本print信息,默认是print的信息是不输出的

nose会查找脚本中 test_命名的函数和Test_命名的类
运行测试脚本时,首先会运行脚本func级别的setUp()函数,
这时候初始化web.py的app
之后会执行class级别的setUp(self)函数,
这时候初始self的app变量为之前初始化的app
#这时候类的__init__()函数是不起作用的
更详细的测试用例可以在test函数中编写,
数据库之类的初始化可以再setUp()函数中编写
如果需要在执行完毕清理资源可以使用tearDown()函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值