【发布时间】:2019-06-16 22:01:24
【问题描述】:
我在我的 src/test/resources 路径中创建了一个 application-integrationtest.yaml,因此我的测试针对创建的 docker testcontainer 运行。问题是我的 application-integrationtest.yaml 没有被加载。
我正在运行 SpringBoot 2.x 应用程序
这是我的数据源类
@Configuration
public class IndexModificationDatabaseConfiguration {
@Bean
public JOOQToSpringExceptionTransformer
jooqToSpringExceptionTransformer() {
return new JOOQToSpringExceptionTransformer();
}
@Bean
public DataSourceConnectionProvider connectionProvider(final DataSource
dataSource) {
return new DataSourceConnectionProvider(new
TransactionAwareDataSourceProxy(dataSource));
}
@Bean(name = "indexModification")
@ConfigurationProperties("index-modified.datasource")
public DataSourceProperties dataSourceProperties() {
return new DataSourceProperties();
}
@Bean
public DataSource
indexModificationDataSource(@Qualifier("indexModification") final
DataSourceProperties properties) {
return properties.initializeDataSourceBuilder().build();
}
@Bean
public DSLContext
createIndexModifiedDslContext(@Qualifier("indexModificationDataSource")
final DataSource dataSource) {
final DefaultConfiguration configuration = new DefaultConfiguration();
configuration.set(connectionProvider(dataSource));
configuration.set(new
DefaultExecuteListenerProvider(jooqToSpringExceptionTransformer()));
configuration.set(SQLDialect.POSTGRES);
return new DefaultDSLContext(configuration);
}
}
这是我的测试
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {IndexModificationDatabaseConfiguration.class})
@ActiveProfiles("integrationtest")
public class ContainerOrchestrator {
@Test
public void testContainer() {
assertTrue(true);
}
}
例外是
原因:org.springframework.beans.BeanInstantiationException:无法实例化[javax.sql.DataSource]:工厂方法'indexModificationDataSource'抛出异常;嵌套异常是 org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException:无法确定合适的驱动程序类 在 org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) 在 org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:582) ... 55 更多 原因:org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException:无法确定合适的驱动类
当我调试时,我发现我的数据源在 Driver、Url、密码等上有空值。
【问题讨论】:
-
如果删除
(classes = {IndexModificationDatabaseConfiguration.class})会发生什么?您确定您的个人资料一切正常吗? -
啊,现在可以了!我想我必须注释我要注入的类,ty vm
标签: spring spring-boot