これらの日、ほぼすべてのアプリケーションがデータベース、ゲートウェイ、支払い、またはそれは、HTTPを介して消費するいくつかのWebサービスのようないくつかの統合ポイントを持っています。
リモートシステムとの通信は、すべてネットワーク経由で発生し、両方のネットワークとそれらのシステムは、多くの場合、グラグラ行く。
リモートエンドが仕様の外で動作し、テストのための唯一の場所は、我々はすべて知っているように、ある生産になるとゴチャゴチャになったとき、我々は我々のシステムの動作をテストしない場合は、いくつかのシステムのために許容さよりも小さい。
リモート·システムへの呼び出しは、ネットワークを使用しているため、ソケット接続は、例えば、異なる障害シナリオを持つことができます。
- リモート·エンドは、TCP RSTパケットを送信して接続をリセットする
- 接続が確立されてもよいが、応答が返信されることはありませんし、(あなたはいくつかの時点でトラブルになることがあなたのアプリケーションでソケットのタイムアウトを使用しない場合)接続がクローズされません。
- リモートエンドは応答としてゴミデータを送信することができます
- サービスではなく、予想されるJSONレスポンスのHTTP上でHTMLを送信することができます
- HTTPサービスは、応答データ30秒ごとに1バイトを送信することができ
- リモートHTTPサービスは、ヘッダーと本文なしを送る
- サービスは、データの代わりに、予想されるキロバイトのメガバイトを送信することができます
- などなど
それは、これらの条件のいくつかが発生したときに私たちのアプリケーションの動作をテストすることができるのが良いでしょう。
皮肉屋は、そのテストを支援しようとします。基本的には右のあなたのコマンドラインからの狡猾とよこしまなリモートシステムをシミュレートするために使用することができ、テストハーネス(テストダブル)です。
皮肉屋は、システムへの損傷を引き起こすために一生懸命しようとします。
それは、目標はシニカルテスト中のあなたのシステムを作ることですです。
http://cynic.readthedocs.orgでフォーマットされたドキュメントを読む
<強い>インストールの
&NBSP; sudoの]皮肉屋をインストールピップ
またはのgitマスターブランチからの出血エッジのバージョン:
&NBSP; sudoの]インストールピップgit+https://github.com/rspivak/cynic.git#egg=cynic
Requirements:
- Python
コメントが見つかりません