私はrestishフレームワークを使ってPythonでRESTfulなAPIを書いています。私はいくつかの単体テスト(例えばunittestパッケージを使用して)を書いて、アプリケーションに異なるリクエストを行い、結果を検証したいと思います。単体テストは、個別のWebサーバープロセスを開始する必要なく、そのまま実行できる必要があります。これを行うにはどのようにしてrestishを使って模擬環境をセットアップすればよいですか?Pythonで簡単にユニットテストを書く
おかげ
私はrestishフレームワークを使ってPythonでRESTfulなAPIを書いています。私はいくつかの単体テスト(例えばunittestパッケージを使用して)を書いて、アプリケーションに異なるリクエストを行い、結果を検証したいと思います。単体テストは、個別のWebサーバープロセスを開始する必要なく、そのまま実行できる必要があります。これを行うにはどのようにしてrestishを使って模擬環境をセットアップすればよいですか?Pythonで簡単にユニットテストを書く
おかげ
Restishには、TestAppクラスが組み込まれています。このクラスは、古いアプリをテストするために使用できます。 根本的なプロジェクトのコールバックに "test"ディレクトリがあり、 "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」のリンクを参照してください)
このタイプのものに適したツールがあるかどうかは、残念なさいフォーラム/リストにお尋ねください。