swagger-codegen は Python-unittest テスト ケースをインテリジェントに生成します

概要: Swagger Codegen は、OpenAPI 仕様 (以前は Swagger 仕様として知られていました) ファイルからサーバー スタブ、クライアント ライブラリ、および API ドキュメントを生成するためのオープン ソース プロジェクトです。Python、Java、Ruby、Go などを含む複数のプログラミング言語とフレームワークをサポートしています。

歴史襲撃者:

sanic:sanic_openapi - swagger

Python:unittest-mock は使用します

単体テスト: パラメータ化された ddt の使用例

インストール手順:

**1. **Java がインストールされていることを確認してください。コマンドラインに java -version と入力して確認できます。Javaがインストールされていない場合は、Oracle公式WebサイトからJava JDKをダウンロードしてインストールしてください。

**2. **Swagger Codegen の実行可能 jar ファイルをダウンロードします。Swagger Codegen の GitHub リポジトリのリリース ページ (https://github.com/swagger-api/swagger-codegen/releases) からダウンロードできます。この例では、swagger-codegen-cli-3.0.29.jar を使用します。ニーズに応じて適切なバージョンを選択してください。

**3.** ダウンロードした jar ファイルを任意の場所 (例: C:\swagger-codegen\swagger-codegen-cli.jar) に置きます。

コマンド プロンプトを開き、次のコマンドを使用してコードを生成します。

java -jar C:\swagger-codegen\swagger-codegen-cli.jar generate -i myapi.json -l python -o output

ここで、C:\swagger-codegen\swagger-codegen-cli.jar はダウンロードした jar ファイルへのパス、myapi.json は Swagger API 定義ファイル、python はターゲット言語、output は出力ディレクトリです。myapi.json は歴史的戦略で sanic_openapi を使用できます - swagger

操作結果:

写真

生成されたコード: 役に立たず、プレースホルダー情報を渡すだけです

# coding: utf-8

"""
    异步平台 API文档

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: v0.0.1
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

from __future__ import absolute_import

import unittest

import swagger_client
from swagger_client.api.default_api import DefaultApi  # noqa: E501
from swagger_client.rest import ApiException


class TestDefaultApi(unittest.TestCase):
    """DefaultApi unit test stubs"""

    def setUp(self):
        self.api = DefaultApi()  # noqa: E501

    def tearDown(self):
        pass

    def test_get_get_class(self):
        """Test case for get_get_class

        获取班级信息  # noqa: E501
        """
        pass

    def test_get_get_student(self):
        """Test case for get_get_student

        获取学生信息  # noqa: E501
        """
        pass

    def test_post_add_student(self):
        """Test case for post_add_student

        新增学生信息  # noqa: E501
        """
        pass


if __name__ == '__main__':
    unittest.main()

: 生成されたテスト ケースは、特定のニーズやテスト シナリオに合わせてさらに最適化および変更する必要がある場合があることに注意してください。Swagger Codegen は、必要に応じて拡張およびカスタマイズできる基本的なテスト ケース テンプレートを提供します。

おすすめ

転載: blog.csdn.net/hzblucky1314/article/details/130517243