[英]Angular Karma Jasmine - test function
基本上我必須測試下面這個函數,我正在從文本文件中讀取
$window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function (dir) {
var path = 'somefile.txt';
dir.getFile(path, { create: true }, function (file) {
file.file(function (file) {
var reader = new FileReader();
reader.onloadend = function () {
resolve(this.result);
}
reader.readAsText(file);
});
}, error);
}, error);
我一直在寫單元測試用例來讀取文件
describe('get data from file', function () {
it('should read the files from the data', function () {
var syncFile = 'somefile.txt';
expect( ).toBe( );
});
});
如何為filereader編寫單元測試來讀取文件? PS:我是使用業力進行單元測試的新手
您不應該直接使用FileReader。 將該行更改為
var reader = new $window.FileReader();
在您的測試中模擬$ window並返回自定義FileReader對象。 然后對此進行測試。 像下面的東西。
describe('get data from file', function () {
var $window, fileReader;
beforeEach(function () {
inject(function (_$window_) {
$window = _$window_;
});
fileReader = function () {
return {};
};
spyOn($window, "FileReader").and.returnValue(fileReader);
});
it('should read the files from the data', function () {
var syncFile = 'somefile.txt';
expect($window.FileReader).toHaveBeenCalled();
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.