Esiste un modo per eseguire un test dell'unità javascript per caricare un file utilizzando l'API del file HTML 5? Per esempio io ho il codice:Test unitario del caricamento di file HTML5
<form method="POST" enctype="multipart/form-data">
<input type="file" id="fileselect" name="fileselect[]" multiple="multiple"/>
</form>
<script type="text/javascript">
function fileSelectHandler(e) {
var files = e.target.files || e.dataTransfer.files;
// at this point, files is a FileList object
}
var fileselect = document.getElementById("fileselect");
fileselect.addEventListener("change", fileSelectHandler, false);
</script>
quindi voglio automatizzare questo con javascript, così posso unit test di esso. Quindi ho bisogno di sparare all'evento di cambiamento e passare in qualche modo i file. Alla fine, ogni file dovrebbe essere un oggetto File HTML 5, con un percorso personalizzato che voglio.
Non è possibile impostare il valore di 'ingresso file' con JavaScript, per fare questo avresti bisogno di un estensione per il browser di qualche tipo. Tuttavia, perché stai provando a testare la funzionalità dell'input del browser, perché non avere un oggetto file come parte del test? – robertc
Robert, il mio codice "complicato" inizia con la variabile file, che è una FileList. Come faccio a fare in modo che FileList sia una lista di oggetti File che puntano a file reali su hard disk? – StefanH
Ho già detto che non è possibile, ma anche se fosse possibile, se il test per selezionare un file con l'elemento 'input' non è andato a buon fine, cosa proverebbe sulla vostra applicazione? Stai progettando di inviare patch C++ ai vari fornitori di browser? – robertc