У меня есть ввод типа «файл», для которого я пишу тесты. В частности, я тестирую загрузку запрещенных типов mime.
По сути, это то, что у меня есть:
код:
var fileInput = $(input)
var myFile = fileInput.files[0]
if (myFile.type !== 'text/csv'){...}
контрольная работа:
spyOnProperty(fileInput, 'files', 'get').and.returnValue([{
type: 'application/pdf',
}]);
Ошибка: файлы не объявлены настраиваемыми в node_modules / jasmine-core / lib / jasmine-core / jasmine.js (строка 4810)
Итак, «файлы» доступны только для чтения, есть ли другой способ выполнить этот тест?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете следить за jQuery и возвращать фиктивный объект fileInput.
spyOn(window, '$').and.returnValue({
files: [...]
})
Вместо этого вы можете попробовать использовать объект window для имитации $, я обновил ответ.
Может быть, вы можете быть более ясным? Меня устраивает.
Вы уверены, что это возможно? Я получаю следующую синтаксическую ошибку: аргумент типа «init» »не может быть назначен параметру типа« innerHeight »| "innerWidth" | «длина» | "outerHeight" | "outerWidth" | «родитель» | «размытие» | "фокус ..."