我想使用@WebMvcTest
和模拟依赖项来测试我的控制器,但是 Spring Boot 的 AutoConfiguration 会自动加载我的 Couchbase (Spring Data) 配置。Couchbase 在某些运行测试的平台上不可用,因此 Test 类将抛出异常。如何从 AutoConfiguration 机制中排除某些类?
我尝试了并加载另一个应用程序上下文的excludeFilters
选项,但这不起作用。@WebMvcTest
@ActiveProfile
测试配置:
@RunWith(SpringRunner.class)
@WebMvcTest(value = ExchangeJobImportController.class, excludeFilters = @ComponentScan.Filter(classes = CouchbaseConfiguration.class))
@ActiveProfiles("test")
public class ExchangeJobImportControllerTest {
...
}
沙发底座配置:
@Configuration
@EnableCouchbaseAuditing
@EnableConfigurationProperties({CouchbaseProperties.class})
@EnableCouchbaseRepositories(basePackages = "com....")
public class CouchbaseConfiguration extends AbstractCouchbaseConfiguration {
...
}