JUnit 5
Unit Size

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 3,246 units with 17,332 lines of code in units (58.8% of code).
    • 0 very long units (0 lines of code)
    • 2 long units (130 lines of code)
    • 59 medium size units (1,682 lines of code)
    • 261 small units (3,584 lines of code)
    • 2,924 very small units (11,936 lines of code)
0% | <1% | 9% | 20% | 68%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
java0% | <1% | 9% | 20% | 68%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Logical Component
primary logical decomposition
junit-platform-commons0% | 3% | 19% | 17% | 59%
junit-jupiter-engine0% | 2% | 12% | 22% | 62%
junit-jupiter-api0% | 0% | 8% | 15% | 76%
junit-platform-engine0% | 0% | 7% | 15% | 77%
junit-platform-launcher0% | 0% | 8% | 29% | 62%
junit-platform-console0% | 0% | 13% | 25% | 60%
junit-jupiter-params0% | 0% | 8% | 38% | 53%
junit-platform-testkit0% | 0% | 7% | 3% | 89%
documentation0% | 0% | 27% | 0% | 72%
junit-vintage-engine0% | 0% | 2% | 21% | 76%
junit-platform-reporting0% | 0% | 5% | 38% | 56%
junit-jupiter-migrationsupport0% | 0% | 0% | 30% | 69%
junit-platform-runner0% | 0% | 0% | 12% | 87%
junit-platform-jfr0% | 0% | 0% | 23% | 76%
Legend:
101+
51-100
21-50
11-20
1-10
Alternative Visuals
Longest Units
Top 50 longest units
Unit# linesMcCabe index# params
static
in junit-platform-commons/src/main/java/org/junit/platform/commons/util/ReflectionUtils.java
71 1 0
private SortedMap deleteAllFilesAndDirectories()
in junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/extension/TempDirectory.java
59 9 0
void assertLinesMatchWithFastForward()
in junit-jupiter-api/src/main/java/org/junit/jupiter/api/AssertLinesMatch.java
50 14 0
private Optional resolve()
in junit-platform-engine/src/main/java/org/junit/platform/engine/support/discovery/EngineDiscoveryRequestResolution.java
45 14 1
private static T assertTimeoutPreemptively()
in junit-jupiter-api/src/main/java/org/junit/jupiter/api/AssertTimeout.java
43 6 3
private void orderContainedMethods()
in junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/discovery/MethodOrderingVisitor.java
43 3 2
static boolean isWideningConversion()
in junit-platform-commons/src/main/java/org/junit/platform/commons/util/ReflectionUtils.java
42 20 2
private static void assertArrayElementsEqual()
in junit-jupiter-api/src/main/java/org/junit/jupiter/api/AssertArrayEquals.java
41 24 4
private static JRE determineCurrentVersion()
in junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/JRE.java
41 13 0
public static String nullSafeToString()
in junit-platform-commons/src/main/java/org/junit/platform/commons/util/StringUtils.java
41 13 1
public static Stream toStream()
in junit-platform-commons/src/main/java/org/junit/platform/commons/util/CollectionUtils.java
41 14 1
private Object resolveParameter()
in junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/execution/ExecutableInvoker.java
41 7 4
private static Optional findAnnotation()
in junit-platform-commons/src/main/java/org/junit/platform/commons/util/AnnotationUtils.java
37 12 4
public void executionFinished()
in junit-platform-launcher/src/main/java/org/junit/platform/launcher/listeners/SummaryGeneratingListener.java
36 10 2
private static List createExecutions()
in junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/Executions.java
34 6 1
private Object invokeTestInstanceFactory()
in junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.java
33 8 2
private static void findRepeatableAnnotations()
in junit-platform-commons/src/main/java/org/junit/platform/commons/util/AnnotationUtils.java
32 8 6
CommandLineOptions toCommandLineOptions()
in junit-platform-console/src/main/java/org/junit/platform/console/options/AvailableOptions.java
32 5 1
public static Optional fromQuery()
in junit-platform-engine/src/main/java/org/junit/platform/engine/discovery/FilePosition.java
31 13 1
public static Optional fromQuery()
in junit-platform-engine/src/main/java/org/junit/platform/engine/support/descriptor/FilePosition.java
31 13 1
public void printTo()
in junit-platform-launcher/src/main/java/org/junit/platform/launcher/listeners/MutableTestExecutionSummary.java
31 1 1
public boolean equals()
in documentation/src/main/java/example/domain/Person.java
29 10 1
public static Optional getLocation()
in junit-platform-commons/src/main/java/org/junit/platform/commons/util/ClassLoaderUtils.java
29 8 1
private static Properties loadClasspathResource()
in junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/LauncherConfigurationParameters.java
29 4 1
public void execute()
in junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/NodeTestTask.java
27 6 0
private void reportCompletion()
in junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/NodeTestTask.java
27 6 0
public Stream provideArguments()
in junit-jupiter-params/src/main/java/org/junit/jupiter/params/provider/EmptyArgumentsProvider.java
27 6 1
private void printStackTrace()
in junit-platform-launcher/src/main/java/org/junit/platform/launcher/listeners/MutableTestExecutionSummary.java
27 10 7
public T proceed()
in junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/extension/TimeoutInvocation.java
27 5 0
private void printVisible()
in junit-platform-console/src/main/java/org/junit/platform/console/tasks/TreePrinter.java
26 5 3
public Stream provideTestTemplateInvocationContexts()
in junit-jupiter-params/src/main/java/org/junit/jupiter/params/ParameterizedTestExtension.java
25 1 1
private void addFilters()
in junit-platform-console/src/main/java/org/junit/platform/console/tasks/DiscoveryRequestCreator.java
25 8 2
public Resolution resolve()
in junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/discovery/ClassSelectorResolver.java
25 4 2
static Optional createDynamicDescriptor()
in junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor.java
25 3 6
static OS parse()
in junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/OS.java
24 8 1
private static List findAllFieldsInHierarchy()
in junit-platform-commons/src/main/java/org/junit/platform/commons/util/ReflectionUtils.java
24 3 2
private static List findAllMethodsInHierarchy()
in junit-platform-commons/src/main/java/org/junit/platform/commons/util/ReflectionUtils.java
24 3 2
private LogRecord createLogRecord()
in junit-platform-commons/src/main/java/org/junit/platform/commons/logging/LoggerFactory.java
24 4 3
private Resolution resolve()
in junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/discovery/MethodSelectorResolver.java
24 4 4
protected void invokeTestMethod()
in junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/TestFactoryTestDescriptor.java
24 3 2
private void walk()
in junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/NodeTreeWalker.java
23 4 3
private void executeRecursively()
in junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/NodeTestTask.java
23 2 0
private static Filter matchMethodDescription()
in junit-vintage-engine/src/main/java/org/junit/vintage/engine/discovery/MethodSelectorResolver.java
23 5 1
private static void findNestedClasses()
in junit-platform-commons/src/main/java/org/junit/platform/commons/util/ReflectionUtils.java
23 8 3
public void accept()
in junit-jupiter-params/src/main/java/org/junit/jupiter/params/provider/ValueArgumentsProvider.java
23 1 1
ConsoleLauncherExecutionResult execute()
in junit-platform-console/src/main/java/org/junit/platform/console/ConsoleLauncher.java
23 4 1
public LauncherDiscoveryResult discover()
in junit-platform-launcher/src/main/java/org/junit/platform/launcher/core/EngineDiscoveryOrchestrator.java
23 3 2
static void assertAll()
in junit-platform-testkit/src/main/java/org/junit/platform/testkit/engine/Assertions.java
22 3 2
private static void assertIterableEquals()
in junit-jupiter-api/src/main/java/org/junit/jupiter/api/AssertIterableEquals.java
22 5 4
static void assertAll()
in junit-jupiter-api/src/main/java/org/junit/jupiter/api/AssertAll.java
22 3 2