Best junit code snippet using org.junit.runners.ParentRunner.describeChild
Source:ParentRunner.java
...49 }50 };51 private final TestClass testClass;52 /* access modifiers changed from: protected */53 public abstract Description describeChild(T t);54 /* access modifiers changed from: protected */55 public abstract List<T> getChildren();56 /* access modifiers changed from: protected */57 public abstract void runChild(T t, RunNotifier runNotifier);58 protected ParentRunner(Class<?> testClass2) throws InitializationError {59 this.testClass = createTestClass(testClass2);60 validate();61 }62 /* access modifiers changed from: protected */63 public TestClass createTestClass(Class<?> testClass2) {64 return new TestClass(testClass2);65 }66 /* access modifiers changed from: protected */67 public void collectInitializationErrors(List<Throwable> errors) {68 validatePublicVoidNoArgMethods(BeforeClass.class, true, errors);69 validatePublicVoidNoArgMethods(AfterClass.class, true, errors);70 validateClassRules(errors);71 applyValidators(errors);72 }73 private void applyValidators(List<Throwable> errors) {74 if (getTestClass().getJavaClass() != null) {75 for (TestClassValidator each : VALIDATORS) {76 errors.addAll(each.validateTestClass(getTestClass()));77 }78 }79 }80 /* access modifiers changed from: protected */81 public void validatePublicVoidNoArgMethods(Class<? extends Annotation> annotation, boolean isStatic, List<Throwable> errors) {82 for (FrameworkMethod eachTestMethod : getTestClass().getAnnotatedMethods(annotation)) {83 eachTestMethod.validatePublicVoidNoArg(isStatic, errors);84 }85 }86 private void validateClassRules(List<Throwable> errors) {87 RuleMemberValidator.CLASS_RULE_VALIDATOR.validate(getTestClass(), errors);88 RuleMemberValidator.CLASS_RULE_METHOD_VALIDATOR.validate(getTestClass(), errors);89 }90 /* access modifiers changed from: protected */91 public Statement classBlock(RunNotifier notifier) {92 Statement statement = childrenInvoker(notifier);93 if (!areAllChildrenIgnored()) {94 return withClassRules(withAfterClasses(withBeforeClasses(statement)));95 }96 return statement;97 }98 private boolean areAllChildrenIgnored() {99 for (T child : getFilteredChildren()) {100 if (!isIgnored(child)) {101 return false;102 }103 }104 return true;105 }106 /* access modifiers changed from: protected */107 public Statement withBeforeClasses(Statement statement) {108 List<FrameworkMethod> befores = this.testClass.getAnnotatedMethods(BeforeClass.class);109 if (befores.isEmpty()) {110 return statement;111 }112 return new RunBefores(statement, befores, null);113 }114 /* access modifiers changed from: protected */115 public Statement withAfterClasses(Statement statement) {116 List<FrameworkMethod> afters = this.testClass.getAnnotatedMethods(AfterClass.class);117 if (afters.isEmpty()) {118 return statement;119 }120 return new RunAfters(statement, afters, null);121 }122 private Statement withClassRules(Statement statement) {123 List<TestRule> classRules = classRules();124 if (classRules.isEmpty()) {125 return statement;126 }127 return new RunRules(statement, classRules, getDescription());128 }129 /* access modifiers changed from: protected */130 public List<TestRule> classRules() {131 List<TestRule> result = this.testClass.getAnnotatedMethodValues(null, ClassRule.class, TestRule.class);132 result.addAll(this.testClass.getAnnotatedFieldValues(null, ClassRule.class, TestRule.class));133 return result;134 }135 /* access modifiers changed from: protected */136 public Statement childrenInvoker(final RunNotifier notifier) {137 return new Statement() {138 /* class org.junit.runners.ParentRunner.AnonymousClass2 */139 @Override // org.junit.runners.model.Statement140 public void evaluate() {141 ParentRunner.this.runChildren(notifier);142 }143 };144 }145 /* access modifiers changed from: protected */146 public boolean isIgnored(T t) {147 return false;148 }149 /* access modifiers changed from: private */150 /* access modifiers changed from: public */151 private void runChildren(final RunNotifier notifier) {152 RunnerScheduler currentScheduler = this.scheduler;153 try {154 for (final T each : getFilteredChildren()) {155 currentScheduler.schedule(new Runnable() {156 /* class org.junit.runners.ParentRunner.AnonymousClass3 */157 /* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: org.junit.runners.ParentRunner */158 /* JADX WARN: Multi-variable type inference failed */159 public void run() {160 ParentRunner.this.runChild(each, notifier);161 }162 });163 }164 } finally {165 currentScheduler.finished();166 }167 }168 /* access modifiers changed from: protected */169 public String getName() {170 return this.testClass.getName();171 }172 public final TestClass getTestClass() {173 return this.testClass;174 }175 /* access modifiers changed from: protected */176 public final void runLeaf(Statement statement, Description description, RunNotifier notifier) {177 EachTestNotifier eachNotifier = new EachTestNotifier(notifier, description);178 eachNotifier.fireTestStarted();179 try {180 statement.evaluate();181 } catch (AssumptionViolatedException e) {182 eachNotifier.addFailedAssumption(e);183 } catch (Throwable th) {184 eachNotifier.fireTestFinished();185 throw th;186 }187 eachNotifier.fireTestFinished();188 }189 /* access modifiers changed from: protected */190 public Annotation[] getRunnerAnnotations() {191 return this.testClass.getAnnotations();192 }193 @Override // org.junit.runner.Describable, org.junit.runner.Runner194 public Description getDescription() {195 Description description = Description.createSuiteDescription(getName(), getRunnerAnnotations());196 for (T child : getFilteredChildren()) {197 description.addChild(describeChild(child));198 }199 return description;200 }201 @Override // org.junit.runner.Runner202 public void run(RunNotifier notifier) {203 EachTestNotifier testNotifier = new EachTestNotifier(notifier, getDescription());204 try {205 classBlock(notifier).evaluate();206 } catch (AssumptionViolatedException e) {207 testNotifier.addFailedAssumption(e);208 } catch (StoppedByUserException e2) {209 throw e2;210 } catch (Throwable e3) {211 testNotifier.addFailure(e3);212 }213 }214 /* JADX DEBUG: Multi-variable search result rejected for r5v0, resolved type: org.junit.runners.ParentRunner<T> */215 /* JADX WARN: Multi-variable type inference failed */216 @Override // org.junit.runner.manipulation.Filterable217 public void filter(Filter filter) throws NoTestsRemainException {218 synchronized (this.childrenLock) {219 List<T> children = new ArrayList<>(getFilteredChildren());220 Iterator<T> iter = children.iterator();221 while (iter.hasNext()) {222 T each = iter.next();223 if (shouldRun(filter, each)) {224 try {225 filter.apply(each);226 } catch (NoTestsRemainException e) {227 iter.remove();228 }229 } else {230 iter.remove();231 }232 }233 this.filteredChildren = Collections.unmodifiableCollection(children);234 if (this.filteredChildren.isEmpty()) {235 throw new NoTestsRemainException();236 }237 }238 }239 @Override // org.junit.runner.manipulation.Sortable240 public void sort(Sorter sorter) {241 synchronized (this.childrenLock) {242 for (T each : getFilteredChildren()) {243 sorter.apply(each);244 }245 List<T> sortedChildren = new ArrayList<>(getFilteredChildren());246 Collections.sort(sortedChildren, comparator(sorter));247 this.filteredChildren = Collections.unmodifiableCollection(sortedChildren);248 }249 }250 private void validate() throws InitializationError {251 List<Throwable> errors = new ArrayList<>();252 collectInitializationErrors(errors);253 if (!errors.isEmpty()) {254 throw new InitializationError(errors);255 }256 }257 private Collection<T> getFilteredChildren() {258 if (this.filteredChildren == null) {259 synchronized (this.childrenLock) {260 if (this.filteredChildren == null) {261 this.filteredChildren = Collections.unmodifiableCollection(getChildren());262 }263 }264 }265 return this.filteredChildren;266 }267 private boolean shouldRun(Filter filter, T each) {268 return filter.shouldRun(describeChild(each));269 }270 private Comparator<? super T> comparator(final Sorter sorter) {271 return new Comparator<T>() {272 /* class org.junit.runners.ParentRunner.AnonymousClass4 */273 @Override // java.util.Comparator274 public int compare(T o1, T o2) {275 return sorter.compare(ParentRunner.this.describeChild(o1), ParentRunner.this.describeChild(o2));276 }277 };278 }279 public void setScheduler(RunnerScheduler scheduler2) {280 this.scheduler = scheduler2;281 }282}...
Source:IdeaSuite.java
...47 getFilteredChildrenMethod.setAccessible(true);48 List filteredChildren = (List)getFilteredChildrenMethod.invoke(this, new Object[0]);49 for (int i = 0, filteredChildrenSize = filteredChildren.size(); i < filteredChildrenSize; i++) {50 Object child = filteredChildren.get(i);51 description.addChild(describeChild((Runner)child));52 }53 }54 catch (Exception e) {55 e.printStackTrace();56 }57 return description;58 }59 protected Description describeChild(Runner child) {60 final Description superDescription = super.describeChild(child);61 if (child instanceof ClassAwareSuiteMethod) {62 final Description description = Description.createSuiteDescription(((ClassAwareSuiteMethod)child).getKlass());63 ArrayList children = superDescription.getChildren();64 for (int i = 0, size = children.size(); i < size; i++) {65 description.addChild((Description)children.get(i));66 }67 return description;68 }69 return superDescription;70 }71 protected List getChildren() {72 final List children = super.getChildren();73 final Set allNames = new HashSet();74 for (Iterator iterator = children.iterator(); iterator.hasNext();) {75 final Object child = iterator.next();76 allNames.add(describeChild((Runner)child).getDisplayName());77 }78 for (Iterator iterator = children.iterator(); iterator.hasNext();) {79 final Object child = iterator.next();80 if (isSuite(child)) {81 skipSuiteComponents(allNames, child);82 }83 }84 for (Iterator iterator = children.iterator(); iterator.hasNext(); ) {85 Object child = iterator.next();86 if (!isSuite(child) && !allNames.contains(describeChild((Runner)child).getDisplayName())) {87 iterator.remove();88 }89 }90 return children;91 }92 private static boolean isSuite(Object child) {93 return child instanceof Suite || child instanceof SuiteMethod;94 }95 private void skipSuiteComponents(Set allNames, Object child) {96 try {97 if (child instanceof Suite) {98 final Method getChildrenMethod = Suite.class.getDeclaredMethod("getChildren", new Class[0]);99 getChildrenMethod.setAccessible(true);100 final List tests = (List)getChildrenMethod.invoke(child, new Object[0]);101 for (Iterator suiteIterator = tests.iterator(); suiteIterator.hasNext();) {102 final String displayName = describeChild((Runner)suiteIterator.next()).getDisplayName();103 if (allNames.contains(displayName)) {104 allNames.remove(displayName);105 }106 }107 } else if (child instanceof SuiteMethod) {108 final Method getChildrenMethod = JUnit38ClassRunner.class.getDeclaredMethod("getTest", new Class[0]);109 getChildrenMethod.setAccessible(true);110 final Test test = (Test)getChildrenMethod.invoke(child, new Object[0]);111 if (test instanceof TestSuite) {112 final Enumeration tests = ((TestSuite)test).tests();113 while (tests.hasMoreElements()) {114 final Test t = (Test)tests.nextElement();115 if (t instanceof TestSuite) {116 final String testDescription = ((TestSuite)t).getName();...
Source:D2jTest.java
...57 protected String getName() {58 return "d2j [" + f.toString() + "]";59 }60 @Override61 protected Description describeChild(DexClassNode child) {62 return Description.createTestDescription(testClass, "c [" + child.className + "]");63 }64 @Override65 protected void runChild(final DexClassNode child, RunNotifier notifier) {66 runLeaf(new Statement() {67 @Override68 public void evaluate() throws Throwable {69 TestUtils.translateAndCheck(fileNode, child);70 }71 }, describeChild(child), notifier);72 }73 });74 }75 this.runners = runners;76 }77 private DexFileNode readDex(Path f) {78 DexFileNode fileNode = new DexFileNode();79 DexFileReader reader = null;80 try {81 reader = new DexFileReader(ZipUtil.readDex(f));82 } catch (IOException e) {83 throw new RuntimeException("Fail to read dex:" + f);84 }85 reader.accept(fileNode);86 return fileNode;87 }88 @Override89 protected List<Runner> getChildren() {90 return runners;91 }92 @Override93 protected Description describeChild(Runner child) {94 return child.getDescription();95 }96 @Override97 protected void runChild(Runner child, RunNotifier notifier) {98 child.run(notifier);99 }100 }101}...
Source:NodePathIoTestRunner.java
...58 protected List<NodePathIoTestCase> getChildren() {59 return children;60 }61 /**62 * @see org.junit.runners.ParentRunner#describeChild(java.lang.Object)63 */64 @Override65 protected Description describeChild(NodePathIoTestCase child) {66 return Description.createTestDescription(this.testClass, child.getName());67 }68 /**69 * @see org.junit.runners.ParentRunner#runChild(java.lang.Object, org.junit.runner.notification.RunNotifier)70 */71 @Override72 protected void runChild(NodePathIoTestCase child, RunNotifier notifier) {73 Description description = this.describeChild(child);74 Statement statement = new Statement() {75 @Override76 public void evaluate() throws Throwable {77 String path = child.getPath();78 79 // Parse the path80 NodePath np = new NodePath(path);81 82 // Write that path back out to a string83 String actual = np.toString();84 85 // Compare86 String expected = path;87 Assert.assertEquals(expected, actual);...
Source:ParentStatementRunner.java
...51 protected List<DescribableStatement> getChildren() {52 return statements;53 }54 @Override55 protected Description describeChild(DescribableStatement child) {56 return child.getDescription();57 }58 @Override59 protected void runChild(final DescribableStatement child, RunNotifier notifier) {60 Description description = describeChild(child);61 Statement statement = child;62 statement = testRule.apply(statement, description);63 ParentRunnerHelper.abortingRunLeaf(statement, description, notifier);64 }65 /**66 * ParentRunner requires that the class be public.67 */68 public static class Dummy {69 }70}...
Source:NeodymiumCucumberWrapper.java
...23 {24 return cucumber.getChildren();25 }26 @Override27 protected Description describeChild(ParentRunner<?> child)28 {29 return cucumber.describeChild(child);30 }31 @Override32 protected void runChild(ParentRunner<?> child, RunNotifier notifier)33 {34 cucumber.runChild(child, notifier);35 }36 @Override37 protected Statement childrenInvoker(RunNotifier notifier)38 {39 return cucumber.childrenInvoker(notifier);40 }41 @Override42 public void setScheduler(RunnerScheduler scheduler)43 {...
Source:Pump.java
...19 protected List<ParentRunner<?>> getChildren() {20 return cucumberDelegate.getChildren();21 }22 @Override23 protected Description describeChild(ParentRunner<?> child) {24 return cucumberDelegate.describeChild(child);25 }26 @Override27 protected void runChild(ParentRunner<?> child, RunNotifier notifier) {28 cucumberDelegate.runChild(child, notifier);29 }30 @Override31 protected Statement childrenInvoker(RunNotifier notifier) {32 return cucumberDelegate.childrenInvoker(notifier);33 }34}...
Source:ParentRunner$4.java
...9 ParentRunner$4(ParentRunner paramParentRunner, Sorter paramSorter) {}10 11 public int compare(T paramT1, T paramT2)12 {13 return this.val$sorter.compare(this.this$0.describeChild(paramT1), this.this$0.describeChild(paramT2));14 }15}1617
18/* Location: L:\local\mybackup\temp\qq_apk\com.tencent.tim\classes14.jar
19 * Qualified Name: org.junit.runners.ParentRunner.4
20 * JD-Core Version: 0.7.0.1
...
describeChild
Using AI Code Generation
1public class MyTest {2 public void test1() {3 System.out.println("Test 1");4 }5 public void test2() {6 System.out.println("Test 2");7 }8}
describeChild
Using AI Code Generation
1public class ParentRunnerTest {2 public void testDescribeChild() throws Exception {3 ParentRunner<ParentRunnerTest> runner = new ParentRunner<ParentRunnerTest>(ParentRunnerTest.class) {4 protected List<ParentRunnerTest> getChildren() {5 return null;6 }7 protected Description describeChild(ParentRunnerTest child) {8 return null;9 }10 protected void runChild(ParentRunnerTest child, RunNotifier notifier) {11 }12 };13 Description description = runner.describeChild(runner);14 System.out.println(description);15 }16}
describeChild
Using AI Code Generation
1import org.junit.runner.Description;2import org.junit.runner.Runner;3import org.junit.runner.notification.RunNotifier;4import org.junit.runners.ParentRunner;5import org.junit.runners.model.InitializationError;6import org.junit.runners.model.RunnerBuilder;7public class DescribeChildTest extends ParentRunner<Runner> {8 public DescribeChildTest(Class<?> klass, RunnerBuilder builder)9 throws InitializationError {10 super(klass);11 }12 protected Description describeChild(Runner child) {13 return child.getDescription();14 }15 protected void runChild(Runner child, RunNotifier notifier) {16 }17 protected java.util.List<Runner> getChildren() {18 return null;19 }20}
describeChild
Using AI Code Generation
1public class ParentRunnerTest {2 public static void main(String[] args) {3 ParentRunner<?> runner = new ParentRunner<ParentRunnerTest>(ParentRunnerTest.class) {4 protected List<ParentRunner<?>> getChildren() {5 return null;6 }7 protected Description describeChild(ParentRunnerTest child) {8 return null;9 }10 protected void runChild(ParentRunnerTest child, RunNotifier notifier) {11 }12 };13 Description description = runner.describeChild(new ParentRunnerTest());14 System.out.println(description);15 }16}
describeChild
Using AI Code Generation
1public void testChildDescription() throws Exception {2 Description description = Description.createSuiteDescription("test");3 Description child = Description.createTestDescription("test", "child");4 description.addChild(child);5 assertEquals("child", child.getDisplayName());6 assertEquals("test", child.getClassName());7 assertEquals("test.child", child.getMethodName());8 assertEquals("test.child", child.getDisplayName());9}10public void testChildDescription() throws Exception {11 Description description = Description.createSuiteDescription("test");12 Description child = Description.createTestDescription("test", "child");13 description.addChild(child);14 assertEquals("child", child.getDisplayName());15 assertEquals("test", child.getClassName());16 assertEquals("test.child", child.getMethodName());17 assertEquals("test.child", child.getDisplayName());18}19public void testChildDescription() throws Exception {20 Description description = Description.createSuiteDescription("test");21 Description child = Description.createTestDescription("test", "child");22 description.addChild(child);23 assertEquals("child", child.getDisplayName());24 assertEquals("test", child.getClassName());25 assertEquals("test.child", child.getMethodName());26 assertEquals("test.child", child.getDisplayName());27}28public void testChildDescription() throws Exception {29 Description description = Description.createSuiteDescription("test");30 Description child = Description.createTestDescription("test", "child");31 description.addChild(child);32 assertEquals("child", child.getDisplayName());33 assertEquals("test", child.getClassName());34 assertEquals("test.child", child.getMethodName());35 assertEquals("test.child", child.getDisplayName());36}37public void testChildDescription() throws Exception {38 Description description = Description.createSuiteDescription("test");39 Description child = Description.createTestDescription("test", "child");40 description.addChild(child);41 assertEquals("child", child.getDisplayName());42 assertEquals("test", child.getClassName());43 assertEquals("test.child", child.getMethodName());44 assertEquals("test.child", child.getDisplayName());45}
describeChild
Using AI Code Generation
1org.junit.runners.ParentRunner.describeChild(ParentRunner.java: 85)2org.junit.runners.ParentRunner.access$000(ParentRunner.java: 58)3org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java: 268)4org.junit.runners.ParentRunner.run(ParentRunner.java: 363)5org.junit.runner.JUnitCore.run(JUnitCore.java: 137)6org.junit.runner.JUnitCore.run(JUnitCore.java: 115)7org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java: 43)8org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java: 82)
LambdaTest also has a detailed JUnit tutorial explaining its features, importance, advanced use cases, best practices, and more to help you get started with running your automation testing scripts.
Here are the detailed JUnit testing chapters to help you get started:
You can also check out our JUnit certification if you wish to take your career in Selenium automation testing with JUnit to the next level.
Get 100 minutes of automation test minutes FREE!!