在 openstack 中, 針對web應用, 有三種方法來寫單元測試
1) 使用webob生成模擬的request
from __future__ import print_function
import webob
import testtools
def hello_world(env, start_response):
if env['path_info'] != '/':
start_response('404 not found', [('content-type', 'text/plain')])
return ['not found\r\n']
start_response('200 ok', [('content-type', 'text/plain')])
return ['hello world!']
def test_hello_world_with_webob(self):
resp = webob.request.blank('/').get_response(hello_world)
print("resp=%s" % (resp))
self.assertequal(resp.status_code, 200)
self.assertequal(resp.body, "hello world!")
2) 使用webtest生成模擬的request
from __future__ import print_function
import webtest
import testtools
def hello_world(env, start_response):
if env['path_info'] != '/':
start_response('404 not found', [('content-type', 'text/plain')])
return ['not found\r\n']
start_response('200 ok', [('content-type', 'text/plain')])
return ['hello world!']
def test_hello_world_with_webtest(self):
print("resp=%s" % (resp))
self.assertequal(resp.status_code, 200)
self.assertequal(resp.body, "hello world!")
3) 啟動乙個wsgi server, 並傳送真實的 http請求
這樣的辦法最複雜, 須要下面步驟
openstack 掛載usb裝置給虛機
在虛機所在的節點檢驗是否安裝必要的包 rpm qa grep usbutils 如沒有,則yum install usbutils進行安裝 檢視節點現有usb裝置 lsusb 插入usb裝置,確認新增的usb裝置資訊 主要確認verdor id和product id lsusb v 準備usb de...
Django中Nginx和WSGI部署系列之十七
當專案開發完成後,需要將專案 放到伺服器上,這個伺服器擁有固定的ip,再通過網域名稱繫結,就可以供其它人瀏覽,對於python web開發,可以使用wsgi apache伺服器。伺服器首先是物理上的一台效能高 線路全 執行穩定的機器,分為私有伺服器 公有伺服器。私有伺服器 公司自己購買 自己維護,只...
linux中wsgi的詳解(企業級)
利用python指令碼架構,該指令碼是用來記錄系統時間 介紹wsgi server wsgi規定符合wsgi規範的wsgi伺服器需要完成以下事情 接收來自http客戶端的request請求 按照wsgi規範呼叫wsgi應用程式 把處理好的結果返回給客戶端 wsgi規定wsgi應用程式是乙個calla...