Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在类测试中模拟数据源Springbean_Java_Spring_Junit_Mockito - Fatal编程技术网

Java 如何在类测试中模拟数据源Springbean

Java 如何在类测试中模拟数据源Springbean,java,spring,junit,mockito,Java,Spring,Junit,Mockito,我想用注入的数据源bean测试一个类,但我不知道如何模拟bean数据源(我没有这个类,只有bean配置)。 我的课是这样的: public class Configurazione { private DataSource dataSource; public DataSource getDataSource() { return dataSource; } public void setDataSource(DataSource dataSou

我想用注入的数据源bean测试一个类,但我不知道如何模拟bean数据源(我没有这个类,只有bean配置)。 我的课是这样的:

public class Configurazione {
    private DataSource dataSource;

    public DataSource getDataSource() {
       return dataSource;
    }

    public void setDataSource(DataSource dataSource) {
        this.dataSource = dataSource;
    }
    ...
 }
我的豆子:

<bean id="Configurazione" class="com.company.configurazione.Configurazione">
    <property name="dataSource" ref="dataSourceMySql" />
</bean>
<bean name="dataSourceMySql"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="..." />
    <property name="username" value="..." />
    <property name="password" value="..." />
</bean>

如何使用mockito测试类Configurazione并注入数据源bean?
我在测试类Configurazione中没有@mock的类数据源。

通常出于测试目的,会创建额外的Spring应用程序上下文。你可以用不同的方式定义bean。例如,您可以使用内存中的HSQL数据库作为数据源

  <jdbc:embedded-database id="dataSource" type="HSQL" >
    <jdbc:script location="scripts/ddl/sequences/*"/>
    <jdbc:script location="scripts/ddl/tables/*"/>
    <jdbc:script location="scripts/dml/*"/>
 </jdbc:embedded-database>

要按原样使用这段代码,您需要将hsql依赖项添加到项目中,并调整脚本的路径(这些脚本创建并填充测试中使用的数据库模式)。 您可以使用该测试应用程序上下文运行测试