1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

Capture output in System.out

Discussion in 'Java' started by Venny, Jan 27, 2011.

  1. Venny

    Venny New Member

    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
     
  2. shabbir

    shabbir Administrator Staff Member

    Moved to C# forum
     
  3. Venny

    Venny New Member

    its a java question.. so shud be moved to Java forums
     
  4. shabbir

    shabbir Administrator Staff Member

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

    Venny New Member

    Do you know the answer btw ?
     
  6. alpha34

    alpha34 New Member

    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....
     
  7. alpha34

    alpha34 New Member

  8. Venny

    Venny New Member

    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 ?
     
  9. alpha34

    alpha34 New Member

    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..
     
  10. Venny

    Venny New Member

    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..
     

Share This Page