1

linqtotwitternuGetによってTwitterAPIをクエリするWindows8のアプリケーションを開発しています。だから、私は、、のようないくつかの機能を持ってgetFollowers()getFollowing()ますgetScreenName() getUserInformation()。私の関数はすべてTwitterにクエリを実行しており、これらの種類の関数を使用して単体テストを作成する方法がわかりません。

誰かが私に例を教えてもらえますか?

たとえば、私のgetFollowers()関数があります:

 public List<string> RecupererFollower()
    {
        _log.Info("Fonction récupérer follower");
        _log.Info("On recherche les follower de "+MainPage.texte);
        _log.Info("Cette fonction va créer une liste des id des follower de"+MainPage.texte);

        List<string> idFollowers=new List<string>();
        var followers =
            (from follower in MainPage.twitterCtxProp.SocialGraph
             where follower.Type == SocialGraphType.Followers &&
                   follower.ScreenName == MainPage.texte 
             select follower)
             .ToList();
        idFollowers = followers[0].IDs;

        return idFollowers;

    }

どうすればそれを使ってテストを作成できますか?mockObjectsとは何ですか?

ありがとう

4

1 に答える 1

2

使用しているTwitterAPIがインターフェースを実装しているかどうかを確認します(おそらく実装されています)。その場合は、その接続をモックアウトして、コードが意図したとおりに動作することをテストし、期待されるパラメーターを使用してAPIメソッドを呼び出すことができるはずです。

モックオブジェクトは、基本的に、テスト対象のコードを、より複雑なコードや実行速度の遅いコード、またはデータベースやこの場合はTwitterなどの別のシステムに接続するコードから切断する方法です。

モックフレームワークを初めて使用する場合は、 RhinoMocksまたはMoqのいずれかの推奨フレームワークのドキュメントを参照してください。個人的には、Rhinoの方が好きで、ドキュメントが優れていると思います。しかし、たくさんのオプションがあります。

上記の例では、次のようなものを使用してTwitter APIの呼び出しを「モック」すると、コードは提供した結果をTwitterと呼んでいるかのように消費します。

mockTwitterAPI.Setup(x => x.SocialGraph).Returns(MyCustomDataForThisTest());
于 2013-03-15T12:20:20.813 に答える