system.in

___ answer3814129 ___

Anstelle der obigen Vorschläge ( edit : Ich habe bemerkt, dass Bart diese Idee auch in einem Kommentar hinterlassen hat), würde ich vorschlagen, Ihre Klasse testfähiger zu machen, indem Sie die Klasse dazu bringen, die Eingabequelle als zu akzeptieren ein Konstruktorparameter oder ähnliches (injiziere die Abhängigkeit). Eine Klasse sollte sowieso nicht so an System.in gekoppelt sein.

Wenn Ihre Klasse aus einem Reader besteht, können Sie das einfach tun:

%Vor%     
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ tag123junit ___ Beliebtes Unit-Testing-Framework für Java und Scala. Die neueste Version, JUnit 4, unterstützt Rich-Annotation-basierte und parametrisierte Tests. Erwägen Sie die Verwendung in Verbindung mit dem Java- oder Scala-Tag, um Ihren Anwendungsfall anzugeben. ___ answer3814092 ___

Ersetzen Sie es für die Dauer Ihres Tests:

%Vor%     
___ tag123io ___ Bei der Berechnung bezieht sich die Eingabe / Ausgabe oder E / A auf die Kommunikation zwischen einem Informationsverarbeitungssystem (z. B. einem Computer) und der Außenwelt, möglicherweise einem Menschen, oder einem anderen Informationsverarbeitungssystem. ___ qstntxt ___

In unserer Anwendung erwarten wir Benutzereingaben innerhalb von %code% wie folgt:

%Vor%

Ich möchte diesen Teil in meinem Komponententest bestehen, damit ich den Thread fortsetzen kann, um den Rest des Codes auszuführen. Wie kann ich etwas in %code% von junit schreiben?

    
___ tag123systemin __ Vordefiniertes Stream-Objekt, das an die Standardeingabe in Java-Konsolenanwendungen angehängt ist. ___ qstnhdr ___ Schreiben von Daten in System.in ___ answer3814082 ___

Was Sie tun möchten, ist die Methode %code% von %code% . Dadurch können Sie Daten in %code% von junit übergeben.

    
___
3
Antworten

Schreiben von Daten in System.in

In unserer Anwendung erwarten wir Benutzereingaben innerhalb von Thread wie folgt: %Vor% Ich möchte diesen Teil in meinem Komponententest bestehen, damit ich den Thread fortsetzen kann, um den Rest des Codes auszuführen. Wie kann ich etwa...
28.09.2010, 14:55