Tornado 自带Testing单元测试模块

# -*- coding: utf-8 -*-
# _test1_.py
import urllib

import time
import tornado
import base64
from tornado.httpclient import AsyncHTTPClient
from tornado.testing import AsyncTestCase
import pbiisi.msg_ws_pb2 as msgif

user_id = '6ebc445e348b11e7a7ab484d7ea41f89'

def init_head(msg):
    msg.head.unique = 'asdfhaskdfkaf'
    msg.head.ver = 160328
    msg.head.if_dt = int(time.time())
    return msg

#AsyncTestCase 可以看做是对 IOLoop 的一个封装,并以 TestCase 的形式提供使用接口。
class Testfunc1(AsyncTestCase):
    #这步如果不写,会报错传入参数没有ioloop,会导致无法进入runTest里面
    def get_new_ioloop(self):
        return tornado.ioloop.IOLoop.instance()

    
    #在调用的时候会通过testing里面的runTest运行,如果不写此方法,会报错:
    #【ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest】
    @tornado.testing.gen_test
    def runTest(self):
        #global user_id
        # print '=======userlogin======'
        # rqmsg = init_head(msgif.rqUserLogin())
        # rqmsg.user = 'wangwu'
        # rqmsg.pwd = '123333'
        # data = {'uuid': user_id, 'pb2': base64.b64encode(rqmsg.SerializeToString())}
        # client = AsyncHTTPClient(self.io_loop)
        # response = yield client.fetch("http://192.168.51.40:10009/userlog/userlogin",method='POST',body=urllib.urlencode(data))
        # msg = msgif.UserLogin()
        # msg.ParseFromString(base64.b64decode(response.body))
        # user_id = msg.uuid
        # print msg

        print '=======areainfo======'
        rqmsg = init_head(msgif.rqAreaInfo())
        rqmsg.area_id.extend([1])
        rqmsg.get_child=0
        data = { 'pb2': base64.b64encode(rqmsg.SerializeToString())}
        client = AsyncHTTPClient(self.io_loop)

        response = yield client.fetch("http://192.168.51.40:10009/area/areainfo",method='POST',body=urllib.urlencode(data))
        msg = msgif.CommAns()
        msg.ParseFromString(base64.b64decode(response.body))
        print msg




运行方式:python -m tornado.test.runtests   _test1_

运行之后结果显示为:

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值