我正在编写这段代码,要求我通过Q-Unit进行单元测试。我有一个输入字段,用户上传文件,然后我使用Javascript的“FileReader”读取它,对其进行一些处理。但是,在编写单元测试时,我无法在输入字段上传文件,以便我可以对我的功能进行单元测试。我现在正在做的事情如下:
//Unit test bit
var done = assert.async();
var pngFile = new File([""],"../../img/test.jpg");
inputElement.files[0] = pngFile;
photoMosaic.extractImageFromInput(inputElement);
setTimeout(function() {
assert.equal(photoMosaic.getImageName(),"../../img/test.jpg", "Correct file format test succeeds" );
done();
}, 500 );
提取图像的extractImageFromInput中的代码如下:
//after some checkings and stuff
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
// Render image
this.MainImage = document.createElement('IMG');
this.MainImage.src = e.target.result;
this.MainImage.setAttribute("name",theFile.name);
return this.MainImage;
};
})(file);
reader.readAsDataURL(file);
但是,它给了我以下错误:
GET data: net::ERR_INVALID_URL
我尝试将图像放在与测试相同的目录中,并使用“test.jpg”作为路径,但没有运气。任何帮助将不胜感激。