⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 forwardcompatibilitytest.java

📁 JUnit, java testing tool
💻 JAVA
字号:
package org.junit.tests;import junit.framework.AssertionFailedError;import junit.framework.JUnit4TestAdapter;import junit.framework.TestCase;import junit.framework.TestFailure;import junit.framework.TestListener;import junit.framework.TestResult;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;import org.junit.runner.Description;import org.junit.runner.RunWith;import org.junit.runner.Runner;import org.junit.runner.notification.RunNotifier;public class ForwardCompatibilityTest extends TestCase {	static String fLog;		static public class NewTest {		@Before public void before() { 			fLog+= "before "; 		}		@After public void after() {			fLog+= "after ";		}		@Test public void test() {			fLog+= "test ";		}	}		public void testCompatibility() {		fLog= "";		TestResult result= new TestResult();		junit.framework.Test adapter= new JUnit4TestAdapter(NewTest.class);		adapter.run(result);		assertEquals("before test after ", fLog);	}		public void testToString() {		JUnit4TestAdapter adapter= new JUnit4TestAdapter(NewTest.class);		junit.framework.Test test= adapter.getTests().get(0);		assertEquals(String.format("test(%s)", NewTest.class.getName()), test.toString());	}	public void testUseGlobalCache() {		JUnit4TestAdapter adapter1= new JUnit4TestAdapter(NewTest.class);		JUnit4TestAdapter adapter2= new JUnit4TestAdapter(NewTest.class);		assertSame(adapter1.getTests().get(0), adapter2.getTests().get(0));	}		static Exception exception= new Exception();		public static class ErrorTest {		@Test public void error() throws Exception {			throw exception;		}	}	public void testException() {		TestResult result= new TestResult();		junit.framework.Test adapter= new JUnit4TestAdapter(ErrorTest.class);		adapter.run(result);		assertEquals(exception, result.errors().nextElement().thrownException());	}		public void testNotifyResult() {		JUnit4TestAdapter adapter= new JUnit4TestAdapter(ErrorTest.class);		TestResult result= new TestResult();		final StringBuffer log= new StringBuffer();		result.addListener(new TestListener() {					public void startTest(junit.framework.Test test) {				log.append(" start " + test);			}					public void endTest(junit.framework.Test test) {				log.append(" end " + test);			}					public void addFailure(junit.framework.Test test, AssertionFailedError t) {				log.append(" failure " + test);					}					public void addError(junit.framework.Test test, Throwable t) {				log.append(" error " + test);					}		});		adapter.run(result);		String testName= String.format("error(%s)", ErrorTest.class.getName());		assertEquals(String.format(" start %s error %s end %s", testName, testName, testName), log.toString());	}		public static class NoExceptionTest {		@Test(expected=Exception.class) public void succeed() throws Exception {		}	}	public void testNoException() {		TestResult result= new TestResult();		junit.framework.Test adapter= new JUnit4TestAdapter(NoExceptionTest.class);		adapter.run(result);		assertFalse(result.wasSuccessful());	}		public static class ExpectedTest {		@Test(expected= Exception.class) public void expected() throws Exception {			throw new Exception();		}	}	public void testExpected() {		TestResult result= new TestResult();		junit.framework.Test adapter= new JUnit4TestAdapter(ExpectedTest.class);		adapter.run(result);		assertTrue(result.wasSuccessful());	}		public static class UnExpectedExceptionTest {		@Test(expected= Exception.class) public void expected() throws Exception {			throw new Error();		}	}		static String log;	public static class BeforeClassTest {		@BeforeClass public static void beforeClass() {			log+= "before class ";		}		@Before public void before() {			log+= "before ";		}		@Test public void one() {			log+= "test ";		}		@Test public void two()  {			log+= "test ";		}		@After public void after() {			log+= "after ";		}		@AfterClass public static void afterClass() {			log+= "after class ";		}	}		public void testBeforeAndAfterClass() {		log= "";		TestResult result= new TestResult();		junit.framework.Test adapter= new JUnit4TestAdapter(BeforeClassTest.class);		adapter.run(result);		assertEquals("before class before test after before test after after class ", log);	}		public static class ExceptionInBeforeTest {		@Before public void error() {			throw new Error();		}		@Test public void nothing() {		}	}		public void testExceptionInBefore() {		TestResult result= new TestResult();		junit.framework.Test adapter= new JUnit4TestAdapter(ExceptionInBeforeTest.class);		adapter.run(result);		assertEquals(1, result.errorCount());	}		public static class InvalidMethodTest {		@BeforeClass public void shouldBeStatic() {}	}		public void testInvalidMethod() {		TestResult result= new TestResult();		junit.framework.Test adapter= new JUnit4TestAdapter(InvalidMethodTest.class);		adapter.run(result);		assertEquals(1, result.errorCount());			TestFailure failure= result.errors().nextElement();		assertTrue(failure.exceptionMessage().contains("Method shouldBeStatic() should be static"));	}		private static boolean wasRun= false;		public static class MarkerRunner extends Runner {		public MarkerRunner(Class<?> klass) {		}		@Override		public void run(RunNotifier notifier) {			wasRun= true;		}		@Override		public int testCount() {			return 0;		}		@Override		public Description getDescription() {			return null;		}	}	@RunWith(MarkerRunner.class)	public static class NoTests {	}		public void testRunWithClass() {		wasRun= false;		TestResult result= new TestResult();		junit.framework.Test adapter= new JUnit4TestAdapter(NoTests.class);		adapter.run(result);		assertTrue(wasRun);	}		public void testToStringSuite() {		junit.framework.Test adapter= new JUnit4TestAdapter(NoTests.class);		assertEquals(NoTests.class.getName(), adapter.toString());	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -