統合テスト中に、実際にRESTful API(または一般的なHTTPインターフェイス)を使用して繰り返し使用するケースに取り組んでいることに気付きました。bash+ cURLで確認します。
それはかなり乱雑に見え始め、維持するのが難しくなります。なぜ混乱をもたらすのですか?
典型的な使用例は次のとおりです。
- URLがhttp応答コードを返すことを確認してください(例:200)
- その場合、コンテンツタイプが必要なMIMEと一致することを確認します
- 返されたコンテンツが何らかのパターンに一致することを確認するか、抽象的な検証手順に合格する
私がこれまでに見つけたのは、車輪を再発明することなく実行可能なオプションを検討することです。
- PyCurlを試してください-すべてのcURLオプションを完全に実装することを期待してください。プロキシだけでなく、私が必要とするかもしれない他のスイッチ
- Pythonの組み込みユニットテストを使用する
次に、たとえば、チェックするサービスごとに1つのユニットテストを実行できます。
import unittest, pycurl
class TestService (unittest.TestCase):
def test_1(self):
self.assertEqual(pycurl.returncode("some_url"), 200)
def test_2(self):
self.assertTrue(pycurl.response("some_url").matches ("xxx") )
def test_3(self):
self.assertTrue (pycurl.ContentType("some_url").equal("xxx"))
if __name__ == '__main__':
unittest.main()
これは理にかなっていますか、またはより高度な(しかし、複雑すぎずに取り上げて統合できない)ツールがありますか?