From ae3fd49ebb394deb1d18d77cb1acdafdf34df608 Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Mon, 23 Apr 2018 16:18:02 +0200 Subject: [PATCH] Introduce non-transactional test for TestNG support --- ...otationConfigTestNGSpringContextTests.java | 75 +++++++++++++++++++ ...TransactionalTestNGSpringContextTests.java | 5 +- 2 files changed, 77 insertions(+), 3 deletions(-) create mode 100644 spring-test/src/test/java/org/springframework/test/context/testng/AnnotationConfigTestNGSpringContextTests.java diff --git a/spring-test/src/test/java/org/springframework/test/context/testng/AnnotationConfigTestNGSpringContextTests.java b/spring-test/src/test/java/org/springframework/test/context/testng/AnnotationConfigTestNGSpringContextTests.java new file mode 100644 index 0000000000..c81ea26d4d --- /dev/null +++ b/spring-test/src/test/java/org/springframework/test/context/testng/AnnotationConfigTestNGSpringContextTests.java @@ -0,0 +1,75 @@ +/* + * Copyright 2002-2018 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 + * + * http://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.testng; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.tests.sample.beans.Employee; +import org.springframework.tests.sample.beans.Pet; + +import org.testng.annotations.Test; + +import static org.testng.Assert.*; + +/** + * Integration tests that verify support for + * {@link org.springframework.context.annotation.Configuration @Configuration} classes + * with TestNG-based tests. + * + *

Configuration will be loaded from + * {@link AnnotationConfigTestNGSpringContextTests.Config}. + * + * @author Sam Brannen + * @since 5.1 + */ +@ContextConfiguration +public class AnnotationConfigTestNGSpringContextTests extends AbstractTestNGSpringContextTests { + + @Autowired + Employee employee; + + @Autowired + Pet pet; + + @Test + void autowiringFromConfigClass() { + assertNotNull(employee, "The employee should have been autowired."); + assertEquals(employee.getName(), "John Smith"); + + assertNotNull(pet, "The pet should have been autowired."); + assertEquals(pet.getName(), "Fido"); + } + + + @Configuration + static class Config { + + @Bean + Employee employee() { + return new Employee("John Smith"); + } + + @Bean + Pet pet() { + return new Pet("Fido"); + } + + } + +} diff --git a/spring-test/src/test/java/org/springframework/test/context/testng/AnnotationConfigTransactionalTestNGSpringContextTests.java b/spring-test/src/test/java/org/springframework/test/context/testng/AnnotationConfigTransactionalTestNGSpringContextTests.java index 6c51502737..7cbb99efc1 100644 --- a/spring-test/src/test/java/org/springframework/test/context/testng/AnnotationConfigTransactionalTestNGSpringContextTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/testng/AnnotationConfigTransactionalTestNGSpringContextTests.java @@ -44,10 +44,9 @@ import static org.testng.Assert.*; /** * Integration tests that verify support for * {@link org.springframework.context.annotation.Configuration @Configuration} classes - * with TestNG-based tests. + * with transactional TestNG-based tests. * - *

- * Configuration will be loaded from + *

Configuration will be loaded from * {@link AnnotationConfigTransactionalTestNGSpringContextTests.ContextConfiguration}. * * @author Sam Brannen