相关疑难解决方法(0)

测试时使用数据源进行Spring Boot

我正在使用Spring Boot应用程序并启用了自动配置.主应用程序文件标记为@EnableAutoConfiguration.使用java config配置从JNDI查找的数据源,并将创建数据源的类标记为@Configuration.

我有一个测试类如下.

@RunWith( SpringJUnit4ClassRunner.class )
@WebAppConfiguration
@ContextConfiguration( classes = Application.class )
public class TestSomeBusiness {}
Run Code Online (Sandbox Code Playgroud)

问题是,当我运行测试用例时,数据源jndi查找发生,由于测试用例未在服务器环境中运行,因此失败.据我所知,标记的classpath中的类@Configuration被执行,并且是调用数据源查找的原因.

我现在找到的解决方法是使用创建数据源而不是JNDI查找DriverManagerDataSource,这样即使它不是服务器环境,数据源查找也不会失败.

我的问题是:

1)我们如何处理弹簧启动应用程序中的数据源(从JNDI查找时)以进行测试?

2)有没有办法在执行测试用例时排除数据源配置类被调用?

3)我应该创建一个嵌入式服务器,以便在执行测试用例时可以完成JNDI查找吗?

java spring spring-boot

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

spring ×1

spring-boot ×1