我正在使用restish框架在Python中编写RESTful API。我想编写一些单元测试(例如使用unittest软件包),它会对我的应用程序发出不同的请求并验证结果。单元测试应该能够按原样运行,而无需启动单独的Web服务器进程。如何使用restish设置模拟环境来执行此操作?
由于
答案 0 :(得分:1)
答案 1 :(得分:1)
由于restish是一个WSGI框架,您可以利用许多WSGI测试工具中的任何一个:
这些工具中至少有一些(如Twill)应该能够在不启动单独的Web服务器的情况下测试您的应用程序。 (例如,有关详细信息,请参阅“Testing WSGI Apps with Twill”链接。)
你可能想在restish论坛/列表上询问他们是否有这种类型的首选工具。
答案 2 :(得分:1)
Restish有一个内置的TestApp类,可用于测试restish应用程序。 假设你的root恢复项目callte中有一个“test”目录,用paster创建了“restest”。
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()