我正在使用以下开源解压缩正常工作的文件。
现在我想为它创建一些集成测试以查看文件是否已保存,问题是该过程正在进行事件并且我不知道肯定当进程结束时,任何想法如何解决? 前
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";
}
});
我用mocha&柴作为测试框架。 这是开源的 https://github.com/bower/decompress-zip
答案 0 :(得分:0)
Mocha support asynchronous code您需要使用done
参数调用测试用例,然后在完成所有检查后调用done
函数。
示例:
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";
}
});
});