gpt4 book ai didi

javascript - 为事件创建单元测试

转载 作者:行者123 更新时间:2023-11-28 05:37:41 25 4
gpt4 key购买 nike

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

现在我想创建一些集成测试来查看文件是否已保存,问题是该过程正在拖拽事件,而我不知道当然,当过程结束时,知道如何解决这个问题吗?例如

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 和 chai 作为测试框架。这是开源的 https://github.com/bower/decompress-zip

最佳答案

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";
}
});
});

关于javascript - 为事件创建单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39222372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com