runwithtest.java

来自「junit」· Java 代码 · 共 86 行

JAVA
86
字号
package org.junit.tests.running.classes;import static org.junit.Assert.assertEquals;import static org.junit.Assert.assertTrue;import org.junit.Test;import org.junit.runner.Description;import org.junit.runner.JUnitCore;import org.junit.runner.RunWith;import org.junit.runner.Runner;import org.junit.runner.notification.RunNotifier;public class RunWithTest {	private static String log;	public static class ExampleRunner extends Runner {		public ExampleRunner(Class<?> klass) {			log+= "initialize";		}		@Override		public void run(RunNotifier notifier) {			log+= "run";		}		@Override		public int testCount() {			log+= "count";			return 0;		}		@Override		public Description getDescription() {			log+= "plan";			return Description.createSuiteDescription("example");		}			}		@RunWith(ExampleRunner.class)	public static class ExampleTest {	}		@Test public void run() {		log= "";		JUnitCore.runClasses(ExampleTest.class);		assertTrue(log.contains("plan"));		assertTrue(log.contains("initialize"));		assertTrue(log.contains("run"));	}	public static class SubExampleTest extends ExampleTest {	}		@Test public void runWithExtendsToSubclasses() {		log= "";		JUnitCore.runClasses(SubExampleTest.class);		assertTrue(log.contains("run"));	}		public static class BadRunner extends Runner {		@Override		public Description getDescription() {			return null;		}		@Override		public void run(RunNotifier notifier) {			// do nothing		}	}		@RunWith(BadRunner.class)	public static class Empty {			}		@Test	public void characterizeErrorMessageFromBadRunner() {		assertEquals(				"Custom runner class BadRunner should have a public constructor with signature BadRunner(Class testClass)",				JUnitCore.runClasses(Empty.class).getFailures().get(0)						.getMessage());	}}

⌨️ 快捷键说明

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