TIL -生成置換とAPIレベルテスト


今日は学んだ.
APIレベルテストのための置換とパターンを生成するための方法!

生成置換


新しいプログラミング問題を解決しようとしている間、私は配列のすべての順列を生成することに関係していると認識しました.私は世代の順序で順列を逃したように完全に解決することができませんでしたが、私は解決に深く掘り下げ、パターンを内部化しました.
このメソッドは、分割、征服、スワッピング、およびバックトラッキングが含まれます.
つまり、このメソッドは、配列のすべての置換を生成するためのものです.
除算とコンパートメントの部分は、配列の長さを2つの部分に分けること、0 -> iからの接頭辞、およびi -> endからのpostfixからなる.Postfixは本質的に、接頭辞の部分を考慮したので、オリジナルのより小さな亜問題になります.それゆえ、それを分割して征服します.
スワッピングは、接頭辞と接頭辞の要素をスワップするのに使用されます.そして、[1, 2, 3]の配列として異なる順列を生成するために使用されます.スワッピングはその順序を作成します.
バックトラッキングは、最初のインデックスを2番目で交換することができますので、スワップ後に前の状態に戻ることですが、そのプロセスを逆にしたいので、最初の3番目をスワップすることもできます.
ベースの場合は、現在のインデックスが配列の長さと同じであるときに、プレフィックスが配列全体になっていることを意味します.

leetcode画像からの順列の生成の簡単な例
擬似コードは次のようになります.
def outerFunction():
    initialize vars needed

    helperFunction()

def helperFunction(array, start_index):
    if (start_index == len(array)):
        Do base case work here
        return;

    for (i = start_index; i < len(array); i++):
        swap(start_index, i)
        helperFunction(array, start_index + 1)
        swap(start_index, i)

    return;

APIテストパターン


私も私の生産性トラッカーのAPIレベルのテストパターンを調べた.APIレベル(ステータスコード、レスポンス本体、レスポンスヘッダーなど)をテストする必要がある場合など、多くの情報を学びました.APIレベルのテストでは何をモックする必要があります.
私のケースでは、APIレベルテストをエンドツーエンドから自動化しようとしています.
さらに、異なる実装ケースは、API実装に従い、セキュリティグループ、認証、ヘッダー、クッキーのために扱われなければなりません.
APIを開発するのに一般的なパターンの人々が実際のAPIバックエンドとモッキングされたAPIの組み合わせを持っていることを発見した.実際のAPIのバックエンドを使用して/APIは、新しい機能のためにされ、迅速には、任意のフロントエンドの労働者をブロックしないように作られているときにAPIを実装して使用されます.
このパラダイムは、できるだけ何もしないことに費やされる時間の量を減らします.