2016-08-30 6 views
1

私は次のオープンソースを使って、正常に動作しているファイルを解凍しています。イベントの単体テストを作成する

は今、私はそれがファイルが保存されたことを確認するためのいくつかの統合テストを作成したい、問題はプロセスがイベントをtrowingされていることであると私は確かに知っていない場合、プロセス終了、任意のアイデアこれを解決するには?私はテストフレームワークとしてモカ&チャイを使用 元

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

。 これは、一度すべてのチェックを呼び出しdone機能を完了し、その後done引数を指定してテストケースを呼び出すとする必要がsupport asynchronous codeオープンソース https://github.com/bower/decompress-zip

答えて

1

モカです。

例:

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"; 
    } 
    }); 
}); 
関連する問題