【发布时间】:2016-11-28 20:59:38
【问题描述】:
我有一个需要使用 sinon 测试的功能。它需要两个参数,并且可以引发不同的事件。我正在尝试模拟为模拟成功的 SFTP 连接而制作的“就绪”事件
function configureSFTPConnection(conn, connectionSettings) {
'use strict';
return new Promise(function(resolve, reject) {
conn.on('ready', function() {
resolve(conn);
}).on('error', function(err) {
reject(err);
}).connect(connectionSettings);
});
}
我可以模拟外部connect函数。
configureSftpStub = sinon.stub(clientObject, 'connect');
如何强制执行ready 回调以完成承诺?
这就是我正在尝试的:
clientObject = new client();
configureSftpStub = sinon.stub(clientObject, 'connect');
configureSftpStub.onCall(0).returns(function() {
console.log('trying to do something');
resolve();
});
.onCall() 似乎永远不会运行。
【问题讨论】:
标签: javascript unit-testing jasmine sinon