首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单元测试HFT股票价格-由于价格波动,断言经常失败。

单元测试HFT股票价格-由于价格波动,断言经常失败。
EN

Stack Overflow用户
提问于 2012-11-19 15:53:33
回答 2查看 143关注 0票数 0

对于检索实时股价的应用程序,我发现我的单元测试断言由于两个包含expectedactual测试值的变量之间的价格波动而返回假负值。

虽然这是意料之中的,但我希望听到关于如何围绕这一问题开展工作的不同做法。我最初的想法是允许波动幅度(收回的股票价格相差约2%)。

--这是向雅虎提出网络请求的代码,目的是检索股票价格.

代码语言:javascript
复制
    public string makeWebRequest(string stockSymbol, string dataRequestID)
    {
        string request = webClient.DownloadString("http://finance.yahoo.com/d/quotes.csv?s=" + stockSymbol + 
                                                  "&f=" + dataRequestID).Replace("\r\n", "").Replace("\"", "");

        if (request.Equals("N/A") || request.Equals("0"))
            return "0.00";

        return request;
    }

    public string getPrice(string stockSymbol)
    {
        return makeWebRequest(stockSymbol, "l1");
    }

这是一个单元测试,它对股票价格进行“硬编码”(已知是成功的) web请求,并将结果分配给expected 变量。之后,执行另一次调用,以便只检索价格--这一次只使用应用程序object.function,然后将其分配给变量。

调用之间的增量为300 is

代码语言:javascript
复制
    [TestMethod]
    public void getPrice()
    {
        string expected = request.DownloadString("http://finance.yahoo.com/d/quotes.csv?s=" + testSymbol + "&f=l1").Replace("\r\n", "").Replace("\"", "");
        string actual = yahoo.getPrice(testSymbol);

        Assert.AreEqual(expected, actual);
    }

有什么建议吗?还是我应该学会接受它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-19 16:09:00

保存对服务器的调用,然后编写单元测试,验证是否可以解析该字符串。您还可以编写一个测试,以验证您是否试图为指定的符号按右url。那将是单元测试。你的是集成测试。

票数 7
EN

Stack Overflow用户

发布于 2012-11-19 16:12:32

您可以尝试模拟DownloadString方法并返回一些已知值(从文件或测试中的硬编码变量)。现在,您不仅测试您的代码,而且您的互联网连接,雅虎网站等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13457391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档