Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Java (http://www.go4expert.com/forums/java/)
-   -   Capture output in System.out (http://www.go4expert.com/forums/capture-output-systemout-t24754/)

Venny 27Jan2011 11:34

Capture output in System.out
 
Hi All,

I am trying to write a code that would capture the output from System.out.println and then us this output to run a junit method assertEquals. basically theres one method that needs to be tested and output of that method is in form of system.out("a") and i want to compare "a" with excpected output.

Can anyone help me how shall i capture the output?

thanks
Venny

shabbir 27Jan2011 12:16

Re: Capture output in System.out
 
Moved to C# forum

Venny 27Jan2011 13:12

Re: Capture output in System.out
 
its a java question.. so shud be moved to Java forums

shabbir 27Jan2011 13:25

Re: Capture output in System.out
 
Quote:

Originally Posted by Venny (Post 78332)
its a java question.. so shud be moved to Java forums

Moved. I only saw System.out and moved to C#. Thanks for pointing that out.

Venny 27Jan2011 13:27

Re: Capture output in System.out
 
Do you know the answer btw ?

alpha34 27Jan2011 14:19

Re: Capture output in System.out
 
redirect output to a file and then use that file and a file pointer which can be used to compare or use getxxx() method where xxx means in or out to get output and store it in a string variable use it to compare....

alpha34 27Jan2011 14:23

Re: Capture output in System.out
 
goto to this one it might help u out...
http://blogs.sun.com/nickstephen/ent...system_out_and

Venny 27Jan2011 15:42

Re: Capture output in System.out
 
What I did is I redirected the output to PrintStream ps and then used method Sytem.setOut(ps); and then convereted ps to String..

PrintStream ps;
System.out.println("a");
System.setOut(ps);
ps.toString();

but unfortuantely ps.toString() is not giving me "a" as output..

Can you explain me where did i went wrong ?

alpha34 27Jan2011 17:03

Re: Capture output in System.out
 
printstream is output stream object it should be directly used with println() or print() and u r trying to set a object which is a stream "System.setOut(ps);" before doing tht casting of ps object is to be done cast ps to string by using toString() and then set output....code will be same but some changes
PrintStream ps;
System.out.println("a");
ps.toString();
System.setOut(ps);

try this....it might work but im bit unsure of use of printstream as i said its a output object and it has it's own syntax..

Venny 28Jan2011 03:04

Re: Capture output in System.out
 
Thankyou for the response... but it seems the code is not working yet..
i am trying to capture output "a" to a string which i can later compare to another string and run my junit test case..


All times are GMT +5.5. The time now is 13:58.