Fix precondition check in TestClassScanner and improve Javadoc

- remove not-empty precondition check for packageNames so that the core
  scan() method can actually be used.
- document constructor
- document use case for packageNames
- add test that scan's all test classes in the spring-test project
- reduce logging due to the previous action item

See gh-28824
This commit is contained in:
Sam Brannen
2022-07-15 17:10:47 +02:00
parent 3fd72652be
commit 72e4a5f9fe
3 changed files with 26 additions and 5 deletions

View File

@@ -87,11 +87,22 @@ class TestClassScannerTests {
);
}
@Test
void scanEntireSpringTestModule() {
assertThat(scan()).hasSizeGreaterThan(400);
}
private Stream<Class<?>> scan() {
return new TestClassScanner(classpathRoots()).scan();
}
private Stream<Class<?>> scan(String... packageNames) {
return new TestClassScanner(classpathRoots()).scan(packageNames);
}
private Set<Path> classpathRoots() {
try {
Set<Path> classpathRoots = Set.of(
Paths.get(getClass().getProtectionDomain().getCodeSource().getLocation().toURI()));
return new TestClassScanner(classpathRoots).scan(packageNames);
return Set.of(Paths.get(getClass().getProtectionDomain().getCodeSource().getLocation().toURI()));
}
catch (Exception ex) {
throw new RuntimeException(ex);