Ich teste ein Programm. Insbesondere teste ich eine Funktion isoliert. Es erfordert einen Handle, der sowohl gelesen als auch geschrieben werden kann. Das Problem ist, stdin
oder stdout
allein kann den Job nicht erledigen. Ich möchte meinen Code nicht nur wegen eines solchen Tests neu schreiben, noch möchte ich eine Steckdose nur für einen Test öffnen müssen. Außerdem ist das Programm noch nicht benutzbar (die Funktionen sind undefiniert), so dass ich es nicht einfach testen kann, indem ich es ausführe.`stdin` und` stdout` handle
Was ist ein Handle, das es von stdin
Eingabe und Ausgabe von stdout
in Haskell bekommt.
Ist es unvernünftig, den Code so zu ändern, dass er zwei Griffe hat, einen für die Eingabe und einen für die Ausgabe? –
Nun, es wäre sauberer ohne es denke ich. Ich denke, ich könnte das trotzdem tun. – PyRulez
Ich tendiere dazu, einfach Handles herumzugeben (für stdin/out/err) und zeige sie auf ['Data.Knob'] (https://hackage.haskell.org/package/knob-0.1.1/docs/Data- Knob.html) Instanzen, wenn ich "pure" Tests brauche. –