对于基于Spring的Rest API,为了编写JUnit测试用例,我是否需要已建立的数据库连接,或者我是否可以拥有模拟数据库。我能得到一些建议。
技术堆栈使用si: Spring MVC, 冬眠
答案 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。