1 29 package jegg.impl; 30 31 import org.apache.commons.logging.Log; 32 import org.apache.commons.logging.LogFactory; 33 34 import junit.framework.TestCase; 35 import junit.framework.TestSuite; 36 37 40 public abstract class TestBase extends TestCase 41 { 42 private static Class testClass; 43 private static Log testLog; 44 private long start; 45 private long end; 46 47 protected static void setTestClass(Class c) 48 { 49 testClass = c; 50 testLog = LogFactory.getLog(testClass); 51 } 52 53 protected static Log getLog() 54 { 55 return testLog; 56 } 57 58 public TestBase(String n) 59 { 60 super(n); 61 } 62 63 protected void prolog(String s) 64 { 65 StringBuffer buf = new StringBuffer (); 66 buf.append("\n-------------------------------------------------\n"); 67 buf.append(" Test: "); 68 buf.append(getName()); 69 buf.append("\n\n"); 70 buf.append(s); 71 buf.append("-------------------------------------------------\n"); 72 getLog().info(buf.toString()); 73 } 74 75 public void setUp() 76 { 77 StringBuffer buf = new StringBuffer (); 78 buf.append("\n-------------------------------------------------\n"); 79 buf.append(" Setting up: "); 80 buf.append(getName()); 81 buf.append("\n"); 82 setup(); 83 buf.append("-------------------------------------------------\n"); 84 getLog().info(buf.toString()); 85 start = System.currentTimeMillis(); 86 } 87 88 protected abstract void setup(); 89 90 public void tearDown() 91 { 92 end = System.currentTimeMillis(); 93 StringBuffer buf = new StringBuffer (); 94 buf.append("-------------------------------------------------\n"); 95 buf.append(" Tearing down: "); 96 buf.append(getName()); 97 buf.append("\n"); 98 buf.append(" Execution time: "); 99 buf.append(Long.toString(end-start)); 100 buf.append("msec\n"); 101 buf.append("-------------------------------------------------\n"); 102 getLog().info(buf.toString()); 103 teardown(); 104 } 105 106 protected abstract void teardown(); 107 108 113 public static void main(final String [] args) throws Exception 114 { 115 junit.textui.TestRunner.run(new TestSuite(EggTest.class)); 117 } 118 119 } 120 | Popular Tags |