この記事では、主に API 自動テストを実装するための Python 単体テストの方法を詳しく紹介します。興味のある方は参考にしてください。Python を書く友人は、プロジェクトのテストの重要性を知っておくべきです。自動テスト スクリプトを作成しました。
最近、私は会社のプロジェクトで API テストを担当しています。 API テストを整理するための簡単な例を次に示します。
まず、get、post、put メソッドを含む RESTful API インターフェイス ファイル testpost.py を作成します
#!/usr/bin/env python # -*- coding: utf-8 -*- from flask import request from flask_restful import Resource from flask_restful import reqparse test_praser = reqparse.RequestParser() test_praser.add_argument('ddos') class TestPost(Resource): def post(self, PostData): data = request.get_json() user = User('wangjing') if data['ddos']: return {'hello': 'uese', "PostData": PostData, 'ddos': 'data[\'ddos\']'} return {'hello': 'uese', "PostData": PostData} def get(self, PostData): data = request.args if data and data['ddos']: return "hello" + PostData + data['ddos'], 200 return {'hello': 'uese', "PostData": PostData} def put(self, PostData): data = test_praser.parse_args() if data and data['ddos']: return "hello" + PostData + data['ddos'], 200 return {'hello': 'uese', "PostData": PostData}
ps: request の値として、ここで一般的に使用される 3 つのメソッドを定義しました:
post メソッド: request.get_json()、API を呼び出すとき、値は json メソッドで渡されます
get および put メソッド: request.args または reqparse.RequestParser()、API を呼び出すとき、値は string で渡されますthenを秒間定義し、テストスクリプトtestpostm.postm.pyrreeeexcondly、blueprint fileinit.py
rreee
flask_restful の api.url_for の説明
api.url_for(TestPost,PostData='adb')、ここで TestPost は、 RESTful API インターフェース ファイルで定義されたクラス。これは、api.add_resource(TestPost, '//postMeth') を通じてクラスを追加することで、API ブループリントですでに定義されているためです
flask の url_for
の使用手順
文字列 testPostb 内の
url_for('testPostb.testpost', PostData='adb', ddos='123'), 'testPostb.testpost' はブループリントの名前を参照します。つまり、testPostb = Blueprint('testPostb ' , name) のブループリント ('testPostb', name) の testPostb。 testpost は、ブループリント内のエンドポイントのエンドポイント名を指します。flask_restful では、api.add_resource(TestPost, '//postMeth') のクラス名 TestPost の小文字を指します。
テスト スクリプトを開始します。簡単な要約:#!/usr/bin/env python # -*- coding: utf-8 -*- from flask import Blueprint from flask_restful import Api from testpost import TestPost testPostb = Blueprint('testPostb', __name__) api = Api(testPostb) api.add_resource(TestPost, '/<string:PostData>/postMeth')ログイン後にコピーurl_for によって渡される値は、リクエストの値と対応する関係があります。最後の値は flask_restful のエンドポイント メソッドであり、api.add_resource のクラス名の小文字である必要があります。 。
関連する推奨事項:
unittestを使用してinterface_pythonをテストする方法
python+requests+unittest APIインターフェースのテストの問題以上がPython単体テストはAPI自動化テストを実装します_pythonの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。