Package org.junit.tests

Source Code of org.junit.tests.JUnitCoreTest$Succeed

package org.junit.tests;

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

import junit.framework.JUnit4TestAdapter;

import org.junit.Test;

import static org.junit.Assert.*;

public class JUnitCoreTest {
 
  static public class Fail {
    @Test public void kaboom() {
      fail();
    }
  }
 
  @Test public void failureCausesExitCodeOf1() throws Exception {
    runClass("org.junit.tests.JUnitCoreTest$Fail", 1);
  }

  @Test public void missingClassCausesExitCodeOf1() throws Exception {
    runClass("Foo", 1);
  }

  static public class Succeed {
    @Test public void peacefulSilence() {
    }
  }
 
  @Test public void successCausesExitCodeOf0() throws Exception {
    runClass("org.junit.tests.JUnitCoreTest$Succeed", 0);
  }

  private void runClass(String className, int returnCode) throws IOException, InterruptedException {
    String java= System.getProperty("java.home")+File.separator+"bin"+File.separator+"java";
    String classPath= getClass().getClassLoader().getResource(".").getFile() + File.pathSeparator + System.getProperty("java.class.path");
    String [] cmd= { java, "-cp", classPath, "org.junit.runner.JUnitCore", className};
    Process process= Runtime.getRuntime().exec(cmd);
    InputStream input= process.getInputStream();
    while((input.read()) != -1);
    assertEquals(returnCode, process.waitFor());
  }

  public static junit.framework.Test suite() {
    return new JUnit4TestAdapter(JUnitCoreTest.class);
  }

}
TOP

Related Classes of org.junit.tests.JUnitCoreTest$Succeed

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.