Come testare uno script Python con un file di input riempito con casi di test?
Domanda
Sto partecipando a contest di arbitri online e voglio testare il mio codice con un file .in pieno di test per calcolare il mio algoritmo. Come posso ottenere il mio script per ricevere input da questo file .in?
Soluzione
Quindi lo script prende normalmente i casi di test da stdin, e ora vuoi testare i casi di test da un file?
In tal caso, utilizzare l'operazione di reindirizzamento <
sulla riga cmd:
my_script < testcases.in
Altri suggerimenti
Leggi da file (s) e / o stdin:
import fileinput
for line in fileinput.input():
process(line)
PyUnit " il framework di test unità standard per Python " potrebbe essere quello che stai cercando.
Fare un piccolo script che fa qualcosa del genere:
#!/usr/bin/env python
import sys
def main():
in_file = open('path_to_file')
for line in in_file:
sys.stdout.write(line)
if __name__ == "__main__":
main()
Ed esegui come
this_script.py | your_app.py
Puoi farlo in un file separato.
testmyscript.py
import sys
someFile= open( "somefile.in", "r" )
sys.stdin= someFile
execfile( "yourscript.py" )
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow