2)有没有一种方法可以在执行测试用例时从调用中排除数据源配置类?
您可以在您的
application.properties配置文件中添加一个配置文件
src/test/resources,Spring
Boot会在测试环境中选择这些配置。我想,您
application.properties的情况
src/main/resources如下:
spring.datasource.jndi-name=some_jndi
此
JNDI资源将在您的生产环境中使用。对于您的测试环境,可以通过将以下配置添加到测试中来使用MySQL数据库
application.properties:
spring.datasource.url=jdbc:mysql://localhost/testspring.datasource.username=dbuserspring.datasource.password=dbpassspring.datasource.driver-class-name=com.mysql.jdbc.Driver
3)我是否应该创建一个嵌入式服务器,以便在执行测试用例时可以完成JNDI查找?
如我所说,
JNDI通过添加测试特定的配置,您可以完全绕开您用于生产的事实。
1)在Spring Boot应用程序中进行测试时,我们通常如何处理数据源(从JNDI查找时)?
您可以
JNDI使用
org.springframework.mock.jndi软件包中提供的功能来模拟资源。例如,通过使用
SimpleNamingContextBuilder您可以:
SimpleNamingContextBuilder builder = new SimpleNamingContextBuilder();builder.bind("jndi_name", dataSource);builder.activate();当然,另一个选择是
Non JNDI在测试环境中使用资源。



