Jasmine测试在web浏览器中测试javascript上传文件

Jasmine测试在web浏览器中测试javascript上传文件,javascript,html,jasmine,ecmascript-6,Javascript,Html,Jasmine,Ecmascript 6,我想为一个javascript程序创建一个jasmine测试,该程序在web浏览器中上传一个文件,并检查该文件是否有内容。代码如下: 功能测试(文件路径){ var file=filePath.files[0]; var reader=new FileReader(); reader.onloadend=()=>{ 如果(reader.result==“”){ display.innerText='没有'; }否则{ display.innerText='有东西'; } } reader.re

我想为一个
javascript
程序创建一个
jasmine
测试,该程序在web浏览器中上传一个文件,并检查该文件是否有内容。代码如下:

功能测试(文件路径){
var file=filePath.files[0];
var reader=new FileReader();
reader.onloadend=()=>{
如果(reader.result==“”){
display.innerText='没有';
}否则{
display.innerText='有东西';
}
}
reader.readAsText(文件);
}
window.onload=()=>{
var filePath=document.getElementById('filePath');
var display=document.getElementById('display');
filePath.addEventListener('change',()=>{
测试(文件路径);
});
}

这里基本上需要模拟文件路径,假设文件已经上传

var mockPath=“/aaa/bbb/ccc.doc”//哪个是本地文件路径

&&从spec文件调用test函数

&&通过验证读卡器对象,可以判断文件是否有文本


注意:这里还需要模拟reader对象。

这里基本上需要模拟文件路径,假设文件已经上传

var mockPath=“/aaa/bbb/ccc.doc”//哪个是本地文件路径

&&从spec文件调用test函数

&&通过验证读卡器对象,可以判断文件是否有文本


注意:这里还需要模拟读卡器对象。

尝试使用此方法传递路径,并使用转义函数传递路径

var str="/Users/zzz/Desktop/testFile.txt";
var str_esc=escape(str);
document.write(str_esc + "<br>");
function readData(filePath){
   console.log("<br>"+filePath);
   var reader = new FileReader();
}
var str=“/Users/zzz/Desktop/testFile.txt”;
var str_esc=逃逸(str);
文件。写(str_esc+“
”); 函数readData(文件路径){ console.log(“
”+文件路径); var reader=new FileReader(); }

尝试使用此函数传递路径,并使用转义函数传递路径

var str="/Users/zzz/Desktop/testFile.txt";
var str_esc=escape(str);
document.write(str_esc + "<br>");
function readData(filePath){
   console.log("<br>"+filePath);
   var reader = new FileReader();
}
var str=“/Users/zzz/Desktop/testFile.txt”;
var str_esc=逃逸(str);
文件。写(str_esc+“
”); 函数readData(文件路径){ console.log(“
”+文件路径); var reader=new FileReader(); }

如果我使用文件路径作为函数的参数,则不会显示任何内容,这意味着文件输入不是文件路径的字符串;那么,如果文件输入是什么对象呢?如果它是一个文本,你需要在Javascript看到它们之前避开反斜杠;这是没有办法的。var newpath='1〕file:///C:\\xxxx\\yyy\\zzzz.txt';newpath.replace(/\\/g,“\\\\”);如果路径未作为字符串参数使用,请尝试此操作,因为它不起作用。如果我使用文件路径作为函数的参数,则不显示任何内容,这意味着文件输入不是文件路径的字符串;那么,如果文件输入是什么对象呢?如果它是一个文本,你需要在Javascript看到它们之前避开反斜杠;这是没有办法的。var newpath='1〕file:///C:\\xxxx\\yyy\\zzzz.txt';newpath.replace(/\\/g,“\\\\”);如果路径未作为字符串参数使用,请尝试此操作,因为它不起作用。你能解释一下替换功能吗有人能帮忙吗