Angularjs 茉莉花测试文件上传
我试图通过我的控制器在Angular中测试文件上传功能。我有检查文件大小的逻辑,然后在加载图像时,我想运行额外的逻辑 当我运行测试用例时,我得到一个错误Angularjs 茉莉花测试文件上传,angularjs,unit-testing,jasmine,karma-jasmine,Angularjs,Unit Testing,Jasmine,Karma Jasmine,我试图通过我的控制器在Angular中测试文件上传功能。我有检查文件大小的逻辑,然后在加载图像时,我想运行额外的逻辑 当我运行测试用例时,我得到一个错误TypeError:未能在“FileReader”上执行“readAsDataURL”:参数1不是“Blob”类型。 我想知道-什么是测试这个的正确方法 我使用的是Jasmine 2.7、Angular 1.6.5、Karma 1.7.0和Karma Jasmine 1.1.0 以下是我的测试用例: it('should do something
TypeError:未能在“FileReader”上执行“readAsDataURL”:参数1不是“Blob”类型。
我想知道-什么是测试这个的正确方法
我使用的是Jasmine 2.7、Angular 1.6.5、Karma 1.7.0和Karma Jasmine 1.1.0
以下是我的测试用例:
it('should do something', function() {
let event = {
target: {
files:{
0:{
name: "test.png",
size: 20000000,
type: "image/png"
}
},
}
};
ctrl.processFile(event);
spyOn(window, 'Image')
expect(ctrl.fileTooBig).toBeTruthy()
});
以下是它试图测试的控制器代码:
vm.fileTooBig = '';
vm.processFile = function(event) {
console.log("event", event)
file = event.target.files[0];
var reader = new FileReader();
reader.onload = function(fileEvent) {
//is the file bigger than 10MB?
if (fileEvent.total > 10000000) {
vm.fileTooBig = true;
}
var image = new Image();
image.onload = function(evt) {
// do something
}
};
};
reader.readAsDataURL(file);
};
$(document).on("change", "input[type=file]", function(event) {
vm.processFile(event);
});
到目前为止,你找到解决方案了吗?不,我仍然在这个测试问题上犹豫不决。你找到解决方案了吗?不,我仍然在这个测试问题上犹豫不决