使用モック依存インターフェース

何をモック
1.フロントとFBIの後端、あなたは今の機能を開発するために必要なフロントページの開発、ある場合:有料の隣にあるため、支払いページインターフェース、支払い、支払いの成功の結果に基づいて、実証され成功した支払いページ、失敗、支払いページを表示することができませんでした。この機能を達成するには、別のページを表示するために、あなたに戻ってその結果に基づいて、バックエンドインターフェースを呼び出す必要があります。この時点で、バックエンドのインターフェイスはよく開発するために他の誰かのために待つことができないフロントエンドの開発者として、よく発達していない、とあなたはあなただけ残業運命、開発しています。タスクを完了するために開発を同期させるために、そして、あなたは、インターフェイスのドキュメント、およびインターフェイスのアドレスと、過去に渡されたパラメータ、およびに従い、フロントエンドの開発タスクを完了するために、独自の異なるモックインタフェース画面に戻ることができます

単体テストの2.目的、ユニットテストは、小さな単位の機能をテストすることですが、関数やメソッドが実際に開発された関数を呼び出すために必要なパラメータb機能として依存関係は、ある結果を返しますが、Iすでにとしての機能をテストしました。この場合には、時間の関数をテストする必要はありません、この時間は、このセクションを模擬モジュールコールをシミュレートするために使用することができ、そして戻り、結果は、指定されました

3.時々、他の人があるかもしれない、サードパーティ製のインターフェースを呼び出す必要があるが、あなたのコントロールを超えた他の人々のインタフェースサービス、時間のインターフェースの自動化を行う、サードパーティのインターフェースに依存している、あなたが運転している今日の環境にテストサービスを提供し、他の人はあなたが戻り値のデータをシミュレートするために、独自のモックサーバ・インタフェースを書くことができ、多くの問題をテストするインタフェースの自動化に、オフになります。

1.次のシーン:支払いは、他の開発により提供される別のインタフェースでのお支払いのステータスが失敗または成功を示すことを行く返し、インタフェースによると、あなたはこの機能を実装する必要があります

あなたが関数bを書くことを、あなたは同僚関数を書くには、関数の結果に応じてBの機能を判断して、対応する機能を実装する必要があります。あなたがそうで残業今座っていることを、あなたは彼を開発するためにあなたが待っている場合を制御することはできませんし、次にあなたが開発することを依存関係、あなたの同僚の開発の進捗状況だという。

2.以下のファイルとして保存され、書き込みzhifu_statues()関数はおそらく次のように設計された機能、temple.pyにあります。

 

 

コードをコピー
#保存temple.pyとして
#coding :. 8 UTF- 

DEF Zhifu():
「」「ここで有料機能は、不完全に開発したとする
成功した支払戻り値:{ 『結果』: 『成功 』、 『理由』:「ヌル「} 
支払いが復帰に失敗:{」結果「:」失敗 「」理由『:』 不足バランス「} 
障害が返す理由理由
『』 『
    パス

DEFのzhifu_statues():
』 『』支払いの結果に従って決定又は相当に移動されますページ「」 ' 
    結果= Zhifu()
    印刷(結果)
    の試行:
        :結果IF [ 『結果』] == 『成功』
            復帰『成功のために支払う』
        結果のelif [ 『結果』] == 『失敗』:
            印刷(「失敗理由:%s "は%の結果["理由"]) 
            戻る「有料に失敗」
        他:
            リターン「不明なエラー例外」
    を除く:
     リターン「エラー、サーバーは例外を返します。」
コードをコピー

 

以下の試験ユニットをするように設計されています。

コードをコピー
#unittest_cases.pyとして保存

#コード:UTF-8
unittestのモックをインポート
unittestのインポート
インポートテンプル

:(たunittest.TestCaseの)クラスTest_zhifu_statues 
「」「ユニットテスト」「」
    DEF test_01(セルフ):
「」「成功した支払シナリオのテスト」「」
#mock成功した支払データ
        temple.zhifu mock.Mock =(RETURN_VALUE = { "ヌル" "結果": "成功"、 "理由"})
決済の結果に応じて#ジャンプテストページ
        像= temple.zhifu_statues()
        印刷(像)
        self.assertEqual(彫像、 "成功した支払")
    DEF test_02(セルフ):
'' '支払いがテストシナリオを失敗した' '' 
失敗した支払データを#mock 
        temple.zhifu = mock.Mock(RETURN_VALUE = { "結果": "失敗"、 "理由" :「バランスの欠如」}) 
#ジャンプテストページの結果に応じて支払われる
        )(像= temple.zhifu_statues 
        (像)を印刷します
        self.assertEqual(彫像、 '支払いが失敗した')
    DEF test_03(セルフ):
        temple.zhifu = mock.Mock(RETURN_VALUE = { "結果": "理由"」1" 。: "不明なエラー"})
        像=寺。 zhifu_statues()
        印刷(像)を
        self.assertEqual(彫像、 '不明なエラー例外')

IF __name__ __ == "__ MAIN__":
    unittest.main()
コードをコピー

スクリーンショットの営業成績:

おすすめ

転載: www.cnblogs.com/nadian/p/12061165.html