我正在尝试在我的node.js项目上进行jasmine-node单元测试。我需要获取一个文件路径数组,然后将该数组传递给单元测试。但是,由于这是异步的,我必须使用回调,而且我无法返回数组。我无法弄清楚如何将检索到的数组发送到单元测试。
这是我的代码:
<img src="<?php the_field('myimage'); ?>" />
这是我的单元测试:
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;
}
};
答案 0 :(得分:0)
这样你可以发回数组。 Haven没有对它进行测试,但它应该有效。
module.exports = {
results: [],
walk: function(callback){ //Added callback argument
var nodeDir = require( "node-dir" );
nodeDir.files( __dirname + "/public/img", function( err, files ){
if ( err ){ throw err; }
callback(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(done){
gallery.walk(function(files){ //Pass callback to walk
//Your code here
done(); //ends the async test
});
});
});