Browse Source

Polishing

pull/1305/merge
Sam Brannen 9 years ago
parent
commit
3bc819799b
  1. 24
      spring-test/src/test/java/org/springframework/test/context/junit4/concurrency/SpringJUnit4ConcurrencyTests.java

24
spring-test/src/test/java/org/springframework/test/context/junit4/concurrency/SpringJUnit4ConcurrencyTests.java

@ -17,10 +17,7 @@
package org.springframework.test.context.junit4.concurrency; package org.springframework.test.context.junit4.concurrency;
import java.lang.annotation.Annotation; import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.stream.IntStream;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Ignore; import org.junit.Ignore;
@ -34,8 +31,8 @@ import org.springframework.test.context.junit4.SpringJUnit47ClassRunnerRuleTests
import org.springframework.test.context.junit4.SpringJUnit4ClassRunnerAppCtxTests; import org.springframework.test.context.junit4.SpringJUnit4ClassRunnerAppCtxTests;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.junit4.TimedTransactionalSpringRunnerTests; import org.springframework.test.context.junit4.TimedTransactionalSpringRunnerTests;
import org.springframework.test.context.junit4.rules.BaseAppCtxRuleTests;
import org.springframework.test.context.junit4.rules.BasicAnnotationConfigWacSpringRuleTests; import org.springframework.test.context.junit4.rules.BasicAnnotationConfigWacSpringRuleTests;
import org.springframework.test.context.junit4.rules.ParameterizedSpringRuleTests;
import org.springframework.test.context.junit4.rules.SpringClassRule; import org.springframework.test.context.junit4.rules.SpringClassRule;
import org.springframework.test.context.junit4.rules.SpringMethodRule; import org.springframework.test.context.junit4.rules.SpringMethodRule;
import org.springframework.test.context.web.RequestAndSessionScopedBeansWacTests; import org.springframework.test.context.web.RequestAndSessionScopedBeansWacTests;
@ -47,7 +44,6 @@ import org.springframework.tests.Assume;
import org.springframework.tests.TestGroup; import org.springframework.tests.TestGroup;
import org.springframework.util.ReflectionUtils; import org.springframework.util.ReflectionUtils;
import static java.util.stream.Collectors.*;
import static org.springframework.core.annotation.AnnotatedElementUtils.*; import static org.springframework.core.annotation.AnnotatedElementUtils.*;
import static org.springframework.test.context.junit4.JUnitTestingUtils.*; import static org.springframework.test.context.junit4.JUnitTestingUtils.*;
@ -84,7 +80,7 @@ public class SpringJUnit4ConcurrencyTests {
SpringJUnit4ClassRunnerAppCtxTests.class, SpringJUnit4ClassRunnerAppCtxTests.class,
InheritedConfigSpringJUnit4ClassRunnerAppCtxTests.class, InheritedConfigSpringJUnit4ClassRunnerAppCtxTests.class,
SpringJUnit47ClassRunnerRuleTests.class, SpringJUnit47ClassRunnerRuleTests.class,
ParameterizedSpringRuleTests.class, BaseAppCtxRuleTests.class,
// Transactional // Transactional
MethodLevelTransactionalSpringRunnerTests.class, MethodLevelTransactionalSpringRunnerTests.class,
TimedTransactionalSpringRunnerTests.class, TimedTransactionalSpringRunnerTests.class,
@ -110,24 +106,18 @@ public class SpringJUnit4ConcurrencyTests {
final int FAILED = 0; final int FAILED = 0;
final int ABORTED = 0; final int ABORTED = 0;
final int IGNORED = countAnnotatedMethods(Ignore.class); final int IGNORED = countAnnotatedMethods(Ignore.class);
// +1 since ParameterizedSpringRuleTests is parameterized final int TESTS = countAnnotatedMethods(Test.class) - IGNORED;
final int TESTS = countAnnotatedMethods(Test.class) + 1 - IGNORED;
runTestsAndAssertCounters(new ParallelComputer(true, true), TESTS, FAILED, TESTS, IGNORED, ABORTED, runTestsAndAssertCounters(new ParallelComputer(true, true), TESTS, FAILED, TESTS, IGNORED, ABORTED,
this.testClasses); this.testClasses);
} }
private int countAnnotatedMethods(Class<? extends Annotation> annotationType) { private int countAnnotatedMethods(Class<? extends Annotation> annotationType) {
return Arrays.stream(this.testClasses) return (int) Arrays.stream(this.testClasses)
.map(testClass -> getAnnotatedMethods(testClass, annotationType)) .map(ReflectionUtils::getUniqueDeclaredMethods)
.flatMapToInt(list -> IntStream.of(list.size())) .flatMap(Arrays::stream)
.sum();
}
private List<Method> getAnnotatedMethods(Class<?> clazz, Class<? extends Annotation> annotationType) {
return Arrays.stream(ReflectionUtils.getUniqueDeclaredMethods(clazz))
.filter(method -> hasAnnotation(method, annotationType)) .filter(method -> hasAnnotation(method, annotationType))
.collect(toList()); .count();
} }
} }

Loading…
Cancel
Save