3

多くの場合、Twitter に対してコーディングする必要があり、現在は、私が制御できない他の Web サービス API に対してコーディングする必要があります。

テストケースを書き込もうとしましたが、次のように難しすぎるようです:

  1. 私は制御できない何か (Web サービス) の速度に縛られています。
  2. Web サービスの状態を制御できない (アカウントの削除、ツイート、再起動ができない)

同様の状況に直面している人々のために、彼らが考案した解決策を見つけたいと思います.

PS: 私はモック オブジェクトに精通していますが、より具体的な教訓を得たいと思っています。たとえば、ライブラリを使用して Twitter (Twitter4J) と対話しています。ツイッターサービス用。

ありがとう。

4

1 に答える 1

2

私のプロジェクト (さまざまな外部 Web サービスに依存している) では、失敗イベントに焦点を当ててテストを行ってきました。そのため、Facebook Connect の単体テストを作成するときに、Web サービスの応答処理メソッドにジャンク データを渡して、内部で変化するサービスを確実に処理できるようにしました。成功したイベント テストは単体テストには入れませんでした。これを回避するには、目的のサービスでテスト アカウントを作成し、単体テストでその ID を参照するようにします。コードを投稿する Web サービスにハードコードされた ID が含まれていないことを確認する場合 (私は、次のような<Service>Configクラスに渡される<Service>Methodsクラスを作成するのが好きです)FacebookMethods.auth(FacebookConfig config, String uid)) これにより、元に戻すことができない、または公開されるべきではない方法でサービスを変更する操作用の TestConfig を作成できます)。

于 2012-09-19T17:37:16.030 に答える