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

时间:2017-01-04 15:40:43

标签: javascript html jasmine ecmascript-6

我想为jasmine程序创建javascript测试,该程序在Web浏览器中上传文件并检查文件是否包含内容。这是代码:



function test(filePath) {
  var file = filePath.files[0];
  var reader = new FileReader();
  reader.onloadend = () => {
    if(reader.result == "") {
      display.innerText = 'has nothing';
    } else {
        display.innerText = 'has something';
    }
  }
  reader.readAsText(file);
}

window.onload = () => {
  var filePath = document.getElementById('filePath');
  var display = document.getElementById('display');

  filePath.addEventListener('change', () => {
    test(filePath);
  });
}

<input id="filePath" type="file">
<pre id="display"></pre>
&#13;
&#13;
&#13;

如何使用示例文件编写jasmine测试?

2 个答案:

答案 0 :(得分:0)

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

var mockPath =&#34; /aaa/bbb/ccc.doc" ;; //这是本地文件路径

&安培;&安培;从spec文件中调用测试函数

&安培;&安培;通过验证reader对象,期望断言文件是否有一些文本。

注意:这里也需要模拟读者对象。

答案 1 :(得分:0)

尝试这个传递路径并使用路径

的转义函数
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();
}

https://jsfiddle.net/92698vka/