У меня есть модуль Node, где я пытаюсь подключиться к хосту с:Как я могу высмеять возвращаемое значение функций Nodes net library?
const testConnection = net.createConnection(port, hostname);
testConnection.on('connect',() => {
// connected
});
testConnection.on('error', (err) => {
// error
});
Я использую Sinon испытать метод, как это:
sinon.stub(net, 'createConnection', (port, hostname) => {
return {
on: (string, cb) => {
switch(string) {
case 'connect':
return cb;
case 'error':
return cb;
case 'close':
return cb;
}
}
}
});
const testConnection = net.createConnection(10, 'hostname');
testConnection.on('error',() => {
console.log('here I am');
});
Но я не могу обернуть мою голову вокруг, как я не должен заглушить/издеваться или подделать метод on-method, чтобы он возвращал ошибку!
Я что-то упустил?
Если я испустить ошибку, тесты не удается из-за ошибки;) Есть ли способ вокруг него? –
@gruberb, так как в тестируемом коде устанавливается '.on ('error', ...)' обработчик, не будет ошибки типа «событие необработанной ошибки». Таким образом, это способ проверить, что делает ваш код, если соединение испускает ошибку. Или я неправильно понял ваши потребности? –
Извините, мой плохой. Да, это полностью работает :) Спасибо! –