【发布时间】:2015-12-23 22:37:18
【问题描述】:
我正在尝试对我的 node.js 项目进行 jasmine-node 单元测试。我需要获取一个文件路径数组,然后将该数组传递给单元测试。但是,由于这是异步的,所以我必须使用回调,并且无法返回数组。我不知道如何将检索到的数组发送到单元测试。
这是我的代码:
module.exports = {
results: [],
walk: function(){
var nodeDir = require( "node-dir" );
nodeDir.files( __dirname + "/public/img", function( err, files ){
if ( err ){ throw err; }
getData( files );
} );
},
getData: function( files ){
console.log( files );
results = files;
}
};
这是我的单元测试:
var gallery = require( "./server" );
describe( "Gallery", function() {
var picArray = [
"/gallery/public/img/dir1/lizard-248705_1280.jpg",
"/gallery/public/img/dir1/loch-ness-151851_1280.png",
"/gallery/public/img/dir1/sand-lizard-63185_1280.jpg",
"/gallery/public/img/dir1/stegosaurus-24752_1280.png"];
it( "walks the images directory", function(){
expect(gallery.walk()).toEqual(picArray);
});
});
【问题讨论】:
标签: javascript arrays node.js unit-testing asynchronous