我用PowerMockito模拟了File类构造函数。
$scope.myImage='';
$scope.myCroppedImage='';
var handleFileSelect=function(evt) {
var file=evt.currentTarget.files[0];
var reader = new FileReader();
reader.onload = function (evt) {
$scope.$apply(function($scope){
$scope.myImage=evt.target.result;
});
};
reader.readAsDataURL(file);
};
angular.element(document.querySelector('#fileInput')).on('change',handleFileSelect);
但是当我的sut类创建File(“withSomeOtherPath”)时,返回null。
我希望应该返回'mockFile',当使用“Filepath”参数调用时,应该调用其他参数实际构造函数。
不是吗?
答案 0 :(得分:0)
"我希望' mockFile'当使用" Filepath"进行调用时,应该返回参数,与其他参数的实际构造函数应该被调用。" ----> Spy没有Mock这是真的 使用Spy的默认行为是调用实际方法,除非它是存根的。
与Mock一样,默认行为是在没有存根时执行任何操作。因此你得到null
。
试试这个
PowerMockito.whenNew(File.class).withArguments("Filepath").thenReturn(mockFile).thenCallRealMethos();