Introduce TestClassScanner to locate Spring test classes for AOT processing
This commit introduces the TestClassScanner which scans provided classpath roots for Spring integration test classes using the JUnit Platform Launcher API which allows all registered TestEngines to discover tests according to their own rules. The scanner currently detects the following categories of Spring integration test classes. - JUnit Jupiter: classes that register the SpringExtension via @ExtendWith. - JUnit 4: classes that register the SpringJUnit4ClassRunner or SpringRunner via @RunWith. - Generic: classes that are annotated with @ContextConfiguration or @BootstrapWith. The scanner has been tested with the following TestEngine implementations for the JUnit Platform. - JUnit Jupiter - JUnit Vintage - JUnit Platform Suite Engine - TestNG Engine for the JUnit Platform Closes gh-28824
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.test.context.aot.samples.basic.BasicSpringJupiterTests;
|
||||
import org.springframework.test.context.aot.samples.basic.BasicSpringTestNGTests;
|
||||
import org.springframework.test.context.aot.samples.basic.BasicSpringVintageTests;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Tests for {@link TestClassScanner}.
|
||||
*
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
class TestClassScannerTests {
|
||||
|
||||
@Test
|
||||
void scanBasicTestClasses() {
|
||||
assertThat(scan("org.springframework.test.context.aot.samples.basic"))
|
||||
.containsExactlyInAnyOrder(
|
||||
BasicSpringJupiterTests.class,
|
||||
BasicSpringJupiterTests.NestedTests.class,
|
||||
BasicSpringVintageTests.class,
|
||||
BasicSpringTestNGTests.class
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void scanTestSuitesForJupiter() {
|
||||
assertThat(scan("org.springframework.test.context.aot.samples.suites.jupiter"))
|
||||
.containsExactlyInAnyOrder(BasicSpringJupiterTests.class, BasicSpringJupiterTests.NestedTests.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
void scanTestSuitesForVintage() {
|
||||
assertThat(scan("org.springframework.test.context.aot.samples.suites.vintage"))
|
||||
.containsExactly(BasicSpringVintageTests.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
void scanTestSuitesForTestNG() {
|
||||
assertThat(scan("org.springframework.test.context.aot.samples.suites.testng"))
|
||||
.containsExactly(BasicSpringTestNGTests.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
void scanTestSuitesForAllTestEngines() {
|
||||
assertThat(scan("org.springframework.test.context.aot.samples.suites.all"))
|
||||
.containsExactlyInAnyOrder(
|
||||
BasicSpringJupiterTests.class,
|
||||
BasicSpringJupiterTests.NestedTests.class,
|
||||
BasicSpringVintageTests.class,
|
||||
BasicSpringTestNGTests.class
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void scanTestSuitesWithNestedSuites() {
|
||||
assertThat(scan("org.springframework.test.context.aot.samples.suites.nested"))
|
||||
.containsExactlyInAnyOrder(
|
||||
BasicSpringJupiterTests.class,
|
||||
BasicSpringJupiterTests.NestedTests.class,
|
||||
BasicSpringVintageTests.class
|
||||
);
|
||||
}
|
||||
|
||||
private Stream<Class<?>> scan(String... packageNames) {
|
||||
try {
|
||||
Set<Path> classpathRoots = Set.of(
|
||||
Paths.get(getClass().getProtectionDomain().getCodeSource().getLocation().toURI()));
|
||||
return new TestClassScanner(classpathRoots).scan(packageNames);
|
||||
}
|
||||
catch (Exception ex) {
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.basic;
|
||||
|
||||
import org.junit.jupiter.api.Nested;
|
||||
|
||||
import org.springframework.test.context.aot.samples.common.DefaultMessageService;
|
||||
import org.springframework.test.context.aot.samples.common.MessageService;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
class BasicJupiterTests {
|
||||
|
||||
private final MessageService messageService = new DefaultMessageService();
|
||||
|
||||
@org.junit.jupiter.api.Test
|
||||
void test() {
|
||||
assertThat(messageService.generateMessage()).isEqualTo("Hello, AOT!");
|
||||
}
|
||||
|
||||
@Nested
|
||||
class NestedTests {
|
||||
|
||||
@org.junit.jupiter.api.Test
|
||||
void test() {
|
||||
assertThat(messageService.generateMessage()).isEqualTo("Hello, AOT!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.basic;
|
||||
|
||||
import org.junit.jupiter.api.Nested;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.junit.jupiter.api.extension.Extension;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
import org.springframework.test.context.aot.samples.common.MessageService;
|
||||
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
// Register an extension other than the SpringExtension to verify proper lookups
|
||||
// for repeated annotations.
|
||||
@ExtendWith(DummyExtension.class)
|
||||
@SpringJUnitConfig(BasicTestConfiguration.class)
|
||||
public class BasicSpringJupiterTests {
|
||||
|
||||
@org.junit.jupiter.api.Test
|
||||
void test(@Autowired MessageService messageService) {
|
||||
assertThat(messageService.generateMessage()).isEqualTo("Hello, AOT!");
|
||||
}
|
||||
|
||||
@Nested
|
||||
@TestPropertySource(properties = "foo=bar")
|
||||
public class NestedTests {
|
||||
|
||||
@org.junit.jupiter.api.Test
|
||||
void test(@Autowired MessageService messageService, @Value("${foo}") String foo) {
|
||||
assertThat(messageService.generateMessage()).isEqualTo("Hello, AOT!");
|
||||
assertThat(foo).isEqualTo("bar");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class DummyExtension implements Extension {
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.basic;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.aot.samples.common.MessageService;
|
||||
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
@ContextConfiguration(classes = BasicTestConfiguration.class)
|
||||
public class BasicSpringTestNGTests extends AbstractTestNGSpringContextTests {
|
||||
|
||||
@Autowired
|
||||
MessageService messageService;
|
||||
|
||||
@org.testng.annotations.Test
|
||||
public void test() {
|
||||
assertThat(messageService.generateMessage()).isEqualTo("Hello, AOT!");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.basic;
|
||||
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.aot.samples.common.MessageService;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
@RunWith(SpringRunner.class)
|
||||
@ContextConfiguration(classes = BasicTestConfiguration.class)
|
||||
public class BasicSpringVintageTests {
|
||||
|
||||
@Autowired
|
||||
MessageService messageService;
|
||||
|
||||
@org.junit.Test
|
||||
public void test() {
|
||||
assertThat(messageService.generateMessage()).isEqualTo("Hello, AOT!");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.basic;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.aot.samples.common.DefaultMessageService;
|
||||
import org.springframework.test.context.aot.samples.common.MessageService;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
class BasicTestConfiguration {
|
||||
|
||||
@Bean
|
||||
MessageService messageService() {
|
||||
return new DefaultMessageService();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.basic;
|
||||
|
||||
import org.springframework.test.context.aot.samples.common.DefaultMessageService;
|
||||
import org.springframework.test.context.aot.samples.common.MessageService;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
public class BasicTestNGTests {
|
||||
|
||||
private final MessageService messageService = new DefaultMessageService();
|
||||
|
||||
@org.testng.annotations.Test
|
||||
public void test() {
|
||||
assertThat(messageService.generateMessage()).isEqualTo("Hello, AOT!");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.basic;
|
||||
|
||||
|
||||
import org.springframework.test.context.aot.samples.common.DefaultMessageService;
|
||||
import org.springframework.test.context.aot.samples.common.MessageService;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
public class BasicVintageTests {
|
||||
|
||||
private final MessageService messageService = new DefaultMessageService();
|
||||
|
||||
@org.junit.Test
|
||||
public void test() {
|
||||
assertThat(messageService.generateMessage()).isEqualTo("Hello, AOT!");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.common;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
public class DefaultMessageService implements MessageService {
|
||||
|
||||
@Override
|
||||
public String generateMessage() {
|
||||
return "Hello, AOT!";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.common;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
public interface MessageService {
|
||||
|
||||
String generateMessage();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.suites.all;
|
||||
|
||||
import org.junit.platform.suite.api.SelectPackages;
|
||||
import org.junit.platform.suite.api.Suite;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
@Suite
|
||||
@SelectPackages("org.springframework.test.context.aot.samples.basic")
|
||||
public class AllEnginesTestSuite {
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.suites.jupiter;
|
||||
|
||||
import org.junit.platform.suite.api.IncludeEngines;
|
||||
import org.junit.platform.suite.api.SelectPackages;
|
||||
import org.junit.platform.suite.api.Suite;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
@Suite
|
||||
@IncludeEngines("junit-jupiter")
|
||||
@SelectPackages("org.springframework.test.context.aot.samples.basic")
|
||||
public class JupiterTestSuite {
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.suites.nested;
|
||||
|
||||
import org.junit.platform.suite.api.IncludeClassNamePatterns;
|
||||
import org.junit.platform.suite.api.SelectPackages;
|
||||
import org.junit.platform.suite.api.Suite;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
@Suite
|
||||
@IncludeClassNamePatterns(".*Suite$")
|
||||
@SelectPackages({
|
||||
"org.springframework.test.context.aot.samples.suites.jupiter",
|
||||
"org.springframework.test.context.aot.samples.suites.vintage"
|
||||
})
|
||||
public class NestedTestSuite {
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.suites.testng;
|
||||
|
||||
import org.junit.platform.suite.api.IncludeEngines;
|
||||
import org.junit.platform.suite.api.SelectPackages;
|
||||
import org.junit.platform.suite.api.Suite;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
@Suite
|
||||
@IncludeEngines("testng")
|
||||
@SelectPackages("org.springframework.test.context.aot.samples.basic")
|
||||
public class TestNGTestSuite {
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.context.aot.samples.suites.vintage;
|
||||
|
||||
import org.junit.platform.suite.api.IncludeEngines;
|
||||
import org.junit.platform.suite.api.SelectPackages;
|
||||
import org.junit.platform.suite.api.Suite;
|
||||
|
||||
/**
|
||||
* @author Sam Brannen
|
||||
* @since 6.0
|
||||
*/
|
||||
@Suite
|
||||
@IncludeEngines("junit-vintage")
|
||||
@SelectPackages("org.springframework.test.context.aot.samples.basic")
|
||||
public class VintageTestSuite {
|
||||
}
|
||||
Reference in New Issue
Block a user