我们有一个协作网络应用程序,其中在用户 A 的浏览器中执行的操作将对用户 B 的浏览器产生副作用。聊天室是应用程序的一部分,也是我们尝试测试的一个很好的例子。
我们当前的堆栈是:
- 前端的 AngularJS
- Express 在 Node 上运行以提供静态文件
- Socket.IO 运行在 Node 上,用于处理客户端浏览器之间的 Web 套接字通信
- 为我们的构建过程提供早午餐
- Angular Seed 是我们测试的起点
- Jasmine 用于实际测试框架
- Testacular 运行测试
进行测试的最佳方法是什么?“最好”是指“任何”。完整的集成测试需要 2 个浏览器和 2 个 Web 服务器(HTML 和 Web 套接字)。两个 Web 服务器都在 Node 上运行,因此至少它与 Testacular 的其余部分处于相同的环境中。
在我看来,这将需要
- 启动我们的套接字服务器实例
- 在 Jasmine 中启动 Web 浏览器,并保留对该浏览器 A 的引用
- 启动另一个浏览器,浏览器 B,并保留该引用。
- 向浏览器 A 发出命令并在浏览器 B 中测试由此产生的变化。
有没有人遇到过这种测试的文档或示例(最好是在带有 Jasmine 的 Testacular 中,但我们对选项持开放态度)?甚至关于使用哪些搜索词的建议也会有所帮助。