聊天应用程序 - 测试两个客户端之间的交互

Posted

技术标签:

【中文标题】聊天应用程序 - 测试两个客户端之间的交互【英文标题】:Chat App - Testing interaction between two clients 【发布时间】:2013-07-25 17:06:06 【问题描述】:

我正在编写一个使用 socket.io 作为后端的 html/js (ember) 聊天应用程序。 (我知道:原创,很多吗?

对于我的一些端到端集成测试(即客户端和服务器),我想测试两个客户端之间的交互。我知道我可以使用 selenium-webdriver 和 mocha 之类的测试框架来完成这项工作,但我真的很想使用像 Karma 或 QUnit 附带的一个不错的测试运行器,我对如何让其中任何一个同时创建两个客户端并与之交互。

【问题讨论】:

【参考方案1】:

QUnit 本身不是测试运行器。它是一个测试框架。另一方面,Karma 是一名测试人员。

QUnit 非常喜欢测试代码单元,就像任何 xUnit 框架一样。不建议在单元测试设置中运行集成测试。正如下面来自 Andy 的评论很明显demonstrates,QUnit 可以在不同的设置中使用,但不是xUnit 类型的测试框架。

至于测试socket.io应用,this SO answer可能对你有帮助吗?

Swizec Teller 有一个 tutorial 用于测试 socket.io 代码,Liam Kaufman 有一个博客文章用于测试使用 socket.io 编写的聊天应用程序。

【讨论】:

对不起,我的问题中的误导性文字。不过,QUnit 确实带有一个不错的浏览器内测试运行器。教程的链接很棒,但我真的在寻找一种方法来进行端到端集成测试,但使用 socket.io-client 进行测试绕过了循环的浏览器部分。如果你觉得 quinit 不适合测试,你可能想和写 ember.js 的人聊聊emberjs.com/guides/testing/integration @Andy:我真的很喜欢 qunit 用于 unit 测试,每天都在使用它。我只是认为它不适合集成测试。鉴于您的 cmets,也许您应该更新问题以更好地描述您的设置目标? 为清楚起见进行了编辑,但再次,虽然 认为 QUnit 仅适用于单元测试,但其他人,包括从事 Ember.js 工作的人,因此大概知道他们的东西,正如我链接的文章所表明的那样,显然不同意。 好吧,我已经反过来编辑了我的答案,以阐明我在本页上下文中对 xUnit 框架的理解。感谢您为这种观点争论不休。顺便说一句,我永远不会质疑那些已经完成工作软件的人能够完成工作软件,只是我太老了,无法跟上时尚和不断变化的用词。

以上是关于聊天应用程序 - 测试两个客户端之间的交互的主要内容,如果未能解决你的问题,请参考以下文章

谁可以给我一个以C语言或者java写的两个客户端之间的聊天,服务器中转的聊天程序,急求啊~~~

聊天客户端的验收测试

Java实现一个简单的网络聊天程序

c#UDP聊天程序,关于服务端和客户端的功能!急!!!!

如何设计一套通用消息交互系统

接口测试介绍