46.4.2 覆盖类路径

测试当一个特殊的类或者包在运行时不存在的时候会发生什么也是可能的。Spring Boot提供了FilteredClassLoader。runner可以容易的使用它。在下面的例子里,我们断言如果UserService不存在,自动配置会正确地禁用:

@Test
public void serviceIsIgnoredIfLibraryIsNotPresent() {
    this.contextRunner.withClassLoader(new FilteredClassLoader(UserService.class))
            .run((context) -> assertThat(context).doesNotHaveBean("userService"));
}

最后更新于