如何使用查询Twitter API的Windows 8 metro应用程序创建单元测试(通过linqtotwitter

本文关键字:创建 应用程序 单元测试 linqtotwitter 通过 metro 查询 何使用 Twitter API Windows | 更新日期: 2023-09-27 18:03:59

我正在Windows 8中开发一个应用程序,通过linqtotwitter nuGet查询Twitter API。我有一些函数,比如getFollowers(), getFollowing(), getScreenName(), getUserInformation()。我所有的函数都在查询Twitter,我不知道如何用这类函数创建单元测试。

谁能给我举个例子?例如,我的getfollower()函数:
 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?

谢谢

如何使用查询Twitter API的Windows 8 metro应用程序创建单元测试(通过linqtotwitter

我会看看您正在使用的Twitter API是否实现了接口(它可能实现了)。如果是这样,那么您应该能够模拟该连接,并测试您的代码是否按照您的意图执行,然后测试它是否使用预期的参数调用API方法。

Mock对象本质上是一种将被测代码与更复杂或运行速度较慢的代码,或连接到另一个系统(如数据库,在本例中是twitter)的代码断开连接的方法。

如果您是mock框架的新手,请查看以下两种建议框架的文档:RhinoMocks或Moq。就我个人而言,我更喜欢Rhino,并且发现它有更好的文档。但是有很多选择。

对于上面的示例,您将使用如下内容"模拟"对twitter API的调用,然后您的代码将使用您提供的结果,就好像它调用了twitter一样。

mockTwitterAPI.Setup(x => x.SocialGraph).Returns(MyCustomDataForThisTest());