如何伪造signalR连接进行单元测试

时间:2016-07-06 04:56:14

标签: unit-testing jasmine signalr

我们有一个网络服务,为我们的应用程序提供实时数据。为了连接到该Web服务,我们使用$ .connection。代码就像 -

this.myConnect = $.connection(myURL);
this.myConnect.start(settingsWhichIncludesACallBack).fail(anotherfunction);

如何监视启动和连接方法。换句话说,我不想建立与webService的实际连接,但仍然希望我的回调(作为设置传递)被调用。

我正在尝试使用Jasmine间谍为$ .connection调用假,但由于显而易见的原因,它在this.myConnect.start上失败,因为类型错误的“非函数”。

2 个答案:

答案 0 :(得分:2)

我之前遇到过同样的问题,并使用this文章创建了一个模拟信号R客户端。我实际上从该站点复制了确切的脚本,并在我的配置中包含了mock而不是实际的signalR客户端。这篇文章对如何使用模拟编写单元测试有一个不错的写作,并且在底部有一个链接到作者使用模拟客户端编写的单元测试的一些示例。

答案 1 :(得分:0)

您可以使用IHubCallerConnectionContext界面创建一个模拟对象来模拟您的集线器测试方法。

查看此链接: Unit Testing SignalR Applications