我正在围绕HTML5 WebSocket对象编写包装器,并使用mocha
测试整个项目(节点服务器端和客户端)。
当我对包装器运行测试时,我得到ReferenceError: WebSocket
中没有定义的mocha
。我认为这与mocha
用于测试节点内容这一事实有关,但是我找不到能证实我的假设并向我展示如何正确设置测试环境的东西。
现在一切都非常简单,我的测试脚本就是:
"test": "mocha --recursive 'src/**/__tests__/*.js'"
我的包装器是:
function Signal() {
this.socket = null
}
Signal.prototype.connect = function connect(url) {
this.socket = new WebSocket(url)
}
我的测试只是检查是否在无响应的服务器调用中调用connect方法:
// I use chai as assertion library
describe('connect', () => {
it('blows if the server doesn\'t exist or respond', () => {
const signal = new Signal()
const connect = () => signal.connect('wss://fakeurl:12345')
expect(connect).to.throw()
})
})
我也试着开玩笑。它不会抛出ReferenceError
,但是总是告诉我测试正在通过...即使我在connect
方法中手动抛出了错误。
我想念什么?有想法吗?