Align withBean methods with ApplicationContext

Rework `AbstractApplicationContextRunner.withBean` methods to
align signatures as much as possible with those provided by
the `ApplicationContext`.

Also update the implementation to use a dedicate member
variable rather than adding initializers.

Closes gh-16011
This commit is contained in:
Phillip Webb
2019-04-11 13:48:37 -07:00
parent 2dfd916c96
commit 7d4118a0fe
6 changed files with 112 additions and 69 deletions

View File

@@ -39,7 +39,6 @@ import org.springframework.util.ClassUtils;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.assertj.core.api.Assertions.assertThatIOException;
import static org.assertj.core.api.Assertions.entry;
/**
* Abstract tests for {@link AbstractApplicationContextRunner} implementations.
@@ -167,15 +166,6 @@ public abstract class AbstractApplicationContextRunnerTests<T extends AbstractAp
});
}
@Test
public void runWithUserBeanShouldHaveAccessToContext() {
get().withUserConfiguration(FooConfig.class)
.withBean(String.class, (context) -> "Result: " + context.getBean("foo"))
.run((context) -> assertThat(context.getBeansOfType(String.class))
.containsOnly(entry("foo", "foo"),
entry("string", "Result: foo")));
}
@Test
public void runWithMultipleConfigurationsShouldRegisterAllConfigurations() {
get().withUserConfiguration(FooConfig.class)