提交 34e90ba7 编写于 作者: S Sam Brannen

Simplify ContextLoaderUtilsActiveProfilesTests

上级 7e38f479
......@@ -21,7 +21,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.Arrays;
import java.util.List;
import java.util.HashSet;
import java.util.Set;
import org.junit.Test;
......@@ -38,77 +39,58 @@ import static org.springframework.test.context.ContextLoaderUtils.*;
*/
public class ContextLoaderUtilsActiveProfilesTests extends AbstractContextLoaderUtilsTests {
private void assertResolvedProfiles(Class<?> testClass, String... expected) {
assertNotNull(testClass);
assertNotNull(expected);
String[] actual = resolveActiveProfiles(testClass);
Set<String> expectedSet = new HashSet<String>(Arrays.asList(expected));
Set<String> actualSet = new HashSet<String>(Arrays.asList(actual));
assertEquals(expectedSet, actualSet);
}
@Test
public void resolveActiveProfilesWithoutAnnotation() {
String[] profiles = resolveActiveProfiles(Enigma.class);
assertArrayEquals(EMPTY_STRING_ARRAY, profiles);
assertArrayEquals(EMPTY_STRING_ARRAY, resolveActiveProfiles(Enigma.class));
}
@Test
public void resolveActiveProfilesWithNoProfilesDeclared() {
String[] profiles = resolveActiveProfiles(BareAnnotations.class);
assertArrayEquals(EMPTY_STRING_ARRAY, profiles);
assertArrayEquals(EMPTY_STRING_ARRAY, resolveActiveProfiles(BareAnnotations.class));
}
@Test
public void resolveActiveProfilesWithEmptyProfiles() {
String[] profiles = resolveActiveProfiles(EmptyProfiles.class);
assertArrayEquals(EMPTY_STRING_ARRAY, profiles);
assertArrayEquals(EMPTY_STRING_ARRAY, resolveActiveProfiles(EmptyProfiles.class));
}
@Test
public void resolveActiveProfilesWithDuplicatedProfiles() {
String[] profiles = resolveActiveProfiles(DuplicatedProfiles.class);
assertNotNull(profiles);
assertEquals(3, profiles.length);
List<String> list = Arrays.asList(profiles);
assertTrue(list.contains("foo"));
assertTrue(list.contains("bar"));
assertTrue(list.contains("baz"));
assertResolvedProfiles(DuplicatedProfiles.class, "foo", "bar", "baz");
}
@Test
public void resolveActiveProfilesWithLocalAnnotation() {
String[] profiles = resolveActiveProfiles(LocationsFoo.class);
assertNotNull(profiles);
assertArrayEquals(new String[] { "foo" }, profiles);
assertResolvedProfiles(LocationsFoo.class, "foo");
}
@Test
public void resolveActiveProfilesWithInheritedAnnotationAndLocations() {
String[] profiles = resolveActiveProfiles(InheritedLocationsFoo.class);
assertNotNull(profiles);
assertArrayEquals(new String[] { "foo" }, profiles);
assertResolvedProfiles(InheritedLocationsFoo.class, "foo");
}
@Test
public void resolveActiveProfilesWithInheritedAnnotationAndClasses() {
String[] profiles = resolveActiveProfiles(InheritedClassesFoo.class);
assertNotNull(profiles);
assertArrayEquals(new String[] { "foo" }, profiles);
assertResolvedProfiles(InheritedClassesFoo.class, "foo");
}
@Test
public void resolveActiveProfilesWithLocalAndInheritedAnnotations() {
String[] profiles = resolveActiveProfiles(LocationsBar.class);
assertNotNull(profiles);
assertEquals(2, profiles.length);
List<String> list = Arrays.asList(profiles);
assertTrue(list.contains("foo"));
assertTrue(list.contains("bar"));
assertResolvedProfiles(LocationsBar.class, "foo", "bar");
}
@Test
public void resolveActiveProfilesWithOverriddenAnnotation() {
String[] profiles = resolveActiveProfiles(Animals.class);
assertNotNull(profiles);
assertEquals(2, profiles.length);
List<String> list = Arrays.asList(profiles);
assertTrue(list.contains("dog"));
assertTrue(list.contains("cat"));
assertResolvedProfiles(Animals.class, "dog", "cat");
}
/**
......@@ -116,9 +98,7 @@ public class ContextLoaderUtilsActiveProfilesTests extends AbstractContextLoader
*/
@Test
public void resolveActiveProfilesWithMetaAnnotation() {
String[] profiles = resolveActiveProfiles(MetaLocationsFoo.class);
assertNotNull(profiles);
assertArrayEquals(new String[] { "foo" }, profiles);
assertResolvedProfiles(MetaLocationsFoo.class, "foo");
}
/**
......@@ -126,9 +106,7 @@ public class ContextLoaderUtilsActiveProfilesTests extends AbstractContextLoader
*/
@Test
public void resolveActiveProfilesWithMetaAnnotationAndOverrides() {
String[] profiles = resolveActiveProfiles(MetaLocationsFooWithOverrides.class);
assertNotNull(profiles);
assertArrayEquals(new String[] { "foo" }, profiles);
assertResolvedProfiles(MetaLocationsFooWithOverrides.class, "foo");
}
/**
......@@ -136,9 +114,7 @@ public class ContextLoaderUtilsActiveProfilesTests extends AbstractContextLoader
*/
@Test
public void resolveActiveProfilesWithMetaAnnotationAndOverriddenAttributes() {
String[] profiles = resolveActiveProfiles(MetaLocationsFooWithOverriddenAttributes.class);
assertNotNull(profiles);
assertArrayEquals(new String[] { "foo1", "foo2" }, profiles);
assertResolvedProfiles(MetaLocationsFooWithOverriddenAttributes.class, "foo1", "foo2");
}
/**
......@@ -146,13 +122,7 @@ public class ContextLoaderUtilsActiveProfilesTests extends AbstractContextLoader
*/
@Test
public void resolveActiveProfilesWithLocalAndInheritedMetaAnnotations() {
String[] profiles = resolveActiveProfiles(MetaLocationsBar.class);
assertNotNull(profiles);
assertEquals(2, profiles.length);
List<String> list = Arrays.asList(profiles);
assertTrue(list.contains("foo"));
assertTrue(list.contains("bar"));
assertResolvedProfiles(MetaLocationsBar.class, "foo", "bar");
}
/**
......@@ -160,13 +130,7 @@ public class ContextLoaderUtilsActiveProfilesTests extends AbstractContextLoader
*/
@Test
public void resolveActiveProfilesWithOverriddenMetaAnnotation() {
String[] profiles = resolveActiveProfiles(MetaAnimals.class);
assertNotNull(profiles);
assertEquals(2, profiles.length);
List<String> list = Arrays.asList(profiles);
assertTrue(list.contains("dog"));
assertTrue(list.contains("cat"));
assertResolvedProfiles(MetaAnimals.class, "dog", "cat");
}
/**
......@@ -174,10 +138,7 @@ public class ContextLoaderUtilsActiveProfilesTests extends AbstractContextLoader
*/
@Test
public void resolveActiveProfilesWithResolver() {
String[] profiles = resolveActiveProfiles(FooActiveProfilesResolverTestCase.class);
assertNotNull(profiles);
assertEquals(1, profiles.length);
assertArrayEquals(new String[] { "foo" }, profiles);
assertResolvedProfiles(FooActiveProfilesResolverTestCase.class, "foo");
}
/**
......@@ -185,10 +146,7 @@ public class ContextLoaderUtilsActiveProfilesTests extends AbstractContextLoader
*/
@Test
public void resolveActiveProfilesWithInheritedResolver() {
String[] profiles = resolveActiveProfiles(InheritedFooActiveProfilesResolverTestCase.class);
assertNotNull(profiles);
assertEquals(1, profiles.length);
assertArrayEquals(new String[] { "foo" }, profiles);
assertResolvedProfiles(InheritedFooActiveProfilesResolverTestCase.class, "foo");
}
/**
......@@ -196,12 +154,7 @@ public class ContextLoaderUtilsActiveProfilesTests extends AbstractContextLoader
*/
@Test
public void resolveActiveProfilesWithMergedInheritedResolver() {
String[] profiles = resolveActiveProfiles(MergedInheritedFooActiveProfilesResolverTestCase.class);
assertNotNull(profiles);
assertEquals(2, profiles.length);
List<String> list = Arrays.asList(profiles);
assertTrue(list.contains("foo"));
assertTrue(list.contains("bar"));
assertResolvedProfiles(MergedInheritedFooActiveProfilesResolverTestCase.class, "foo", "bar");
}
/**
......@@ -209,10 +162,7 @@ public class ContextLoaderUtilsActiveProfilesTests extends AbstractContextLoader
*/
@Test
public void resolveActiveProfilesWithOverridenInheritedResolver() {
String[] profiles = resolveActiveProfiles(OverridenInheritedFooActiveProfilesResolverTestCase.class);
assertNotNull(profiles);
assertEquals(1, profiles.length);
assertArrayEquals(new String[] { "bar" }, profiles);
assertResolvedProfiles(OverridenInheritedFooActiveProfilesResolverTestCase.class, "bar");
}
/**
......@@ -279,6 +229,7 @@ public class ContextLoaderUtilsActiveProfilesTests extends AbstractContextLoader
@ActiveProfiles
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
// TODO Write test with @MetaProfilesWithOverrides.
private static @interface MetaProfilesWithOverrides {
String[] profiles() default { "dog", "cat" };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册