Package junit.tests.runner

Source Code of junit.tests.runner.TextRunnerTest

package junit.tests.runner;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;

import junit.framework.TestCase;
import junit.framework.TestResult;
import junit.framework.TestSuite;

public class TextRunnerTest extends TestCase {
 
  public void testFailure() throws Exception {
    execTest("junit.tests.framework.Failure", false);
  }

  public void testSuccess() throws Exception {
    execTest("junit.tests.framework.Success", true);
  }

  public void testError() throws Exception {
    execTest("junit.tests.BogusDude", false);
  }
 
  void execTest(String testClass, boolean success) throws Exception {
    String java= System.getProperty("java.home")+File.separator+"bin"+File.separator+"java";
    String cp= System.getProperty("java.class.path");
    //use -classpath for JDK 1.1.7 compatibility
    String [] cmd= { java, "-classpath", cp, "junit.textui.TestRunner", testClass};
    Process p= Runtime.getRuntime().exec(cmd);
    InputStream i= p.getInputStream();
    while((i.read()) != -1)
      ; //System.out.write(b);
    assertTrue((p.waitFor() == 0) == success);
    if (success)
      assertTrue(p.exitValue() == 0);
    else
      assertFalse(p.exitValue() == 0);
  }
 
  public void testRunReturnsResult() {
    PrintStream oldOut= System.out;
    System.setOut(new PrintStream (
      new OutputStream() {
        @Override
        public void write(int arg0) throws IOException {
        }
      }
    ));
    try {
      TestResult result= junit.textui.TestRunner.run(new TestSuite());
      assertTrue(result.wasSuccessful());
    } finally {
      System.setOut(oldOut);
    }
  }
   

}
TOP

Related Classes of junit.tests.runner.TextRunnerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.