我正在使用restish框架在Python中編寫RESTful API。我想編寫一些單元測試(例如使用unittest包),它會向我的應用程序發出不同的請求並驗證結果。單元測試應該能夠按原樣運行,而無需啓動單獨的Web服務器進程。如何使用restish設置模擬環境來執行此操作?用Python編寫單元測試
感謝
我正在使用restish框架在Python中編寫RESTful API。我想編寫一些單元測試(例如使用unittest包),它會向我的應用程序發出不同的請求並驗證結果。單元測試應該能夠按原樣運行,而無需啓動單獨的Web服務器進程。如何使用restish設置模擬環境來執行此操作?用Python編寫單元測試
感謝
Restish具有內置的TestApp類,可用於測試恢復應用程序。 假設你在根目錄恢復項目調用「restest」中有一個「測試」目錄,它使用paster創建。
import os
import unittest
from paste.fixture import TestApp
class RootTest (unittest.TestCase):
def setUp(self):
self.app = TestApp('config:%s/../development.ini' % os.path.dirname(os.path.abspath(__file__)))
def tearDown(self):
self.app = None
def test_html(self):
res = self.app.get('/')
res.mustcontain('Hello from restest!')
if __name__ == '__main__':
unittest.main()
由於restish是一個WSGI框架,你可以利用一些WSGI測試工具的任一者:
至少有幾個的那些工具,如斜紋,應該能夠測試你的應用程序,而無需啓動一個單獨的Web服務器。 (例如,請參閱「Testing WSGI Apps with Twill」鏈接瞭解更多詳細信息。)
您可能想要詢問其他論壇/列表是否有此類事物的首選工具。