为事件创buildunit testing

我正在使用下面的开源解压文件正在工作正常。

现在我想创build一些集成testing ,看到文件被保存,问题是这个过程是事件的抛出,我不知道当过程结束时,任何想法如何解决这个问题? 前

var DecompressZip = require('decompress-zip'); var unzipper = new DecompressZip(filename) unzipper.on('error', function (err) { console.log('Caught an error'); }); unzipper.on('extract', function (log) { console.log('Finished extracting'); }); unzipper.on('progress', function (fileIndex, fileCount) { console.log('Extracted file ' + (fileIndex + 1) + ' of ' + fileCount); }); unzipper.extract({ path: 'some/path', filter: function (file) { return file.type !== "SymbolicLink"; } }); 

我使用摩卡和柴作为testing框架。 这是开源的https://github.com/bower/decompress-zip

摩卡支持asynchronous代码,你需要调用done参数的testing用例,然后一旦所有的检查完成调用donefunction。

例:

 var DecompressZip = require('decompress-zip'); describe("Unzipper test", function() { it("should extract folder without error", function(done) { var unzipper = new DecompressZip(filename); unzipper.on('error', done); // Pass error to done callback unzipper.on('extract', function (log) { // Add your checks done(); }); }); unzipper.extract({ path: 'some/path', filter: function (file) { return file.type !== "SymbolicLink"; } }); });