为基于Spring的REST API编写Junit测试用例

时间:2015-10-08 19:19:58

标签: java spring hibernate rest junit

对于基于Spring的Rest API,为了编写JUnit测试用例,我是否需要已建立的数据库连接,或者我是否可以拥有模拟数据库。我能得到一些建议。

技术堆栈使用si: Spring MVC, 冬眠

1 个答案:

答案 0 :(得分:1)

root-context.xml下,您可以考虑设置不同的bean配置文件。例如:

<beans profile="dev">
    <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://192.168.1.2:3306/mydb"/>
        <property name="username" value="admin"/>
        <property name="password" value="password"/>
        <property name="initialSize" value="3"/>
    </bean>
    ...
</beans>
...
<beans profile="prod">
    <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://192.168.1.3:3306/mydb"/>
        <property name="username" value="admin"/>
        <property name="password" value="password"/>
        <property name="initialSize" value="3"/>
    </bean>
    ...
</beans>

然后在您的JUnit测试中,您可以考虑在测试之上使用@Profile注释:

@Profile(value="dev")

或者,您可以通过spring.profiles.active

application.properties文件中设置-Dspring.profiles.active=dev环境属性或作为应用服务器的启动配置

有关详情,请阅读Spring docs on Profiles