我为 Polymer Web 组件创建了几个测试。测试是根据 polycast #36 中提供的指南编写的。当我在本地使用 Web-Component-Tester 运行测试时,一切都很好并且我的测试通过了。当我在本地浏览器(chrome 和 firefox)中运行测试时,一切都很好。
我还建立了 Travis-CI 和 Sauce Labs 进行自动化测试。Travis 可以在 shell 中本地运行 WCT。这非常有效,我的测试通过了。然而,当 WCT 在启用了 sauce 插件的情况下运行,并且测试在 sauce labs 浏览器上运行时,只有异步测试会失败。
我的测试正在等待一个 JS 事件被触发。我认为该事件从未收到。WCT 的输出并没有真正的帮助。它只是抱怨 done() 方法从未被调用过。
WCT 和 Sauce Labs 是否有其他人遇到同样的问题?如果是这样,是否有人对这些异步测试有解决方案?
编辑 1: 我应该补充一点,我的组件包装了本机 websocket。异步测试等待组件在捕获 websocket 事件后重新触发的 websocket 事件。