java - 制作一个假的 javax.sql.DataSource?

标签 java spring testing datasource spring-test

我必须使用字符串测试框架编写测试,其中使用了许多数据库连接。

在测试中,我不需要所有的数据源,但 Spring 希望它们全部注入(inject)。

是否有任何标准或众所周知的伪造 javax.sql.DataSource 实现只是为了满足 Spring DI 机制?

最佳答案

首选使用 Mockito(或其他模拟框架)(正如其他答案中所指出的)。但是,如果您只想建立应用程序上下文(不提示数据源),您可以使用 org.springframework.jdbc.datasource.SimpleDriverDataSource

您需要使用覆盖原始 bean 的名称向上下文提供 bean,并确保首先扫描您的假 bean。

@Configuration
public class MyFakeConfig {

  @Bean(name = "NAME OF THE ORIGINAL BEAN TO OVERRIDE")
  public DataSource fakeDataSource() {
    return new SimpleDriverDataSource()

  }
}

关于java - 制作一个假的 javax.sql.DataSource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24290633/

相关文章:

java - 以编程方式为 github 项目创建 Jenkins 作业

java - MongoDB: "can' t 保存部分对象”异常

java - HandlerInterceptor 有一个对象处理程序参数,什么类型将被传递到拦截器中?

java - 无法从 Controller 外部的 MessageSource 获取消息

spring - SqlExceptionHelper 日志消息

java - 无法执行目标 org.apache.maven.plugins :maven-compiler-plugin:3. 8.1

java - 如何在布局/样式 XML 中设置状态栏色调颜色?

c++ - 是否有用于多线程内存分配器的验证套件?

unit-testing - 当集成测试已经存在时,有人可以举一个单元测试增加值(value)的具体例子吗?

sbt : is there a way to run a single test without tags? 中的 ScalaTest