-kga- Skrevet 5. juni 2009 Del Skrevet 5. juni 2009 (endret) EDIT: Om dere ikke hvet hvordan mar gjør slik i ruby, men hvet ett bedre engelsk ord for det jeg er ute etter så post gjærne det. Slitte og finne noe om det siden jeg ikke hvet helt nøyaktig hva jeg skal søke på. Om jeg skriver en kode som skal teste andre koder, hvordan får jeg programmet mitt til å automatisk fylle inn inoput verdienne som disse andre programmene spørr etter av brukeren. Den første her gir kunn output uten og spørre om input fra brukeren, så den er grei testFramework("testProg1") { |exp| exp.testProg } Denne spør derimot etter input fra brukeren underveis. Brukeren må velge noen parametere under kjøringen av programmet. Meningen er att testen skal være automatisk uten at en bruker må fylle inn disse verdiene. Så planen var å lage en liste med input verdier og la programet hente sine input forespørsler fra denne listen. testFramework("testProg2") { |exp| exp.testProg } Så hvordan lar man programmet automatisk fylle inn disse input forespørslene. Jeg skal helst ikke endr enoe i koden til programmene som testes. Endret 6. juni 2009 av Lord-KGA Lenke til kommentar
-kga- Skrevet 5. juni 2009 Forfatter Del Skrevet 5. juni 2009 Jeg får det til i command line ruby tf.rb < input2.txt Det er lett. tf består nå kun av dette t = gets puts t t2 = gets puts t2 og input2.txt består kun av to ord, test og ttttt Og disse to ordenne blir hentet og brukt av programmet isteden for å kreve at brukeren skal taste det inn Men det jeg vill, og ikke får till, det er gjøredette inne i ruby slik at jeg ikke er nødt til å starte opp i komandolinjen for at det skal fungere. Lenke til kommentar
Frank2004 Skrevet 8. juni 2009 Del Skrevet 8. juni 2009 Se nærmere på IO-klassen. Lite eksempel: IO.popen("ruby tf.rb", "w+") do |io| io.puts "abc" io.puts "123" puts io.readlines end Ser for meg at du må ta i bruk tråder for lesing/skriving/timeouts osv etter hvert. Lykke til. PS: Om det er testing du driver med, så er det vanlig å bruke Test::Unit el.l., og teste koden direkte i stedet for å mate inn data og sjekke output. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå