Testing Stubing一个用jasmine调用实方法的方法

Testing Stubing一个用jasmine调用实方法的方法,testing,jasmine,filereader,sinon,Testing,Jasmine,Filereader,Sinon,我需要使用Jasmine+Sinon测试文件阅读器的onload 这是要测试的功能: MyObject.prototype.uploadFile=函数(文件,回调){ const fileReader=new fileReader(); fileReader.onload=事件=>{ if(回调类型==='function'){ 回调(事件); } }; fileReader.readAsDataURL(文件); };您错误地插入了文件读取器 对于对象文本,这个是构建对象文本的上下文 除非使用e

我需要使用Jasmine+Sinon测试文件阅读器的onload

这是要测试的功能:
MyObject.prototype.uploadFile=函数(文件,回调){
const fileReader=new fileReader();
fileReader.onload=事件=>{
if(回调类型==='function'){
回调(事件);
}
};
fileReader.readAsDataURL(文件);

};您错误地插入了
文件读取器

对于对象文本,
这个
是构建对象文本的上下文

除非使用
es6
中介绍的速记符号

因此,当您在
readAsDataURL
内部调用
this.onload
时,它不会试图调用
readData
对象上的
onload
函数

为此:

let readData = {
    readAsDataURL() { 
        this.onload();
    },
    onload() {}
};