Nodejs test case for pipeData.on('finish', ()=>{res.end()}



我使用以下代码来读取base64输入字符串:

//NPM package
var base64 = require('base64-stream');
var memorystreams = require('memory-streams');
function getMyData(base64DataStr, res) {
    let base64DataStr=X10;
    let pipeData;
    pipeData= new memorystreams.ReadableStream(base64DataStr);
    pipeData.on('finish', ()=>{
        res.end(); --Sending the response
      });
}

并且代码工作正常,但我需要使用 NPM chai 和 Mocha 设计单元测试用例,所以你能告诉我如何编写测试用例来测试上述场景吗?

提前谢谢。

到达你想去的地方的最简单方法是将getMyData转换为返回回调的异步方法

function getMyData(base64DataStr, cb) {
    let base64DataStr=X10;
    let pipeData;
    pipeData= new memorystreams.ReadableStream(base64DataStr);
    pipeData.on('finish', ()=>{
        cb('send back some data');
      });
}

然后在您有权访问响应的调用路由中处理响应,因此(我不确定您为什么要传入 base64DataStr 只是为了重新分配它(:

app.get('/foo', (req, res) =>{
  getMyData('fo', _out => res.end(_out))
})

最新更新