我有一个大型的maven项目。所以我运行mvn clean install。但我在测试中遇到错误。 sql连接异常。我有一个带有Postgresql数据库的sql文件。我应该在localhost上创建数据库(带有用户名和密码)吗?那么junit测试如何运行?他们是否需要localhost上的数据库服务器? 这个用于连接数据库的xml:
<bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="org.postgresql.Driver" />
<property name="jdbcUrl" value="jdbc:postgresql://localhost/lion" />
<property name="user" value="osm" />
<property name="password" value="101918" />
<property name="maxPoolSize" value="100" />
<property name="minPoolSize" value="5" />
<property name="acquireIncrement" value="5" />
<property name="idleConnectionTestPeriod" value="300" />
<property name="maxStatements" value="0" />
<property name="maxIdleTime" value="100" />
</bean>
答案 0 :(得分:2)
是的,显然你有一个项目,Spring集成测试连接到真正的PostgreSQL数据库。很可能其他开发人员安装了这样的数据库,因此它适用于他们。不完美但有时是必要的。
说得对,你需要isntall PostgreSQL,创建lion
数据库和所有需要的表。此外,数据库用户名和密码在您的配置中显然是硬编码的(如果它们在此处发布?),因此您必须在PostgreSQL服务器中创建相同的用户或(更好)外部化jdbcUrl
,{{1} }和username
。
最后考虑合并flyway,如果你在空架构上启动一个应用程序,它将创建你的数据库表。