views:

321

answers:

1
Buildfile: C:\MyJava\workspace\springapp\build.xml
build:
buildtests:
dropTables:
     [echo] DROP TABLES USING: org.hsqldb.jdbcDriver jdbc:hsqldb:hsql//localhost
      [sql] Executing commands
      [sql] 1 of 1 SQL statements executed successfully
createTables:
     [echo] CREATE TABLES USING: org.hsqldb.jdbcDriver jdbc:hsqldb:hsql//localhost
      [sql] Executing resource: C:\MyJava\workspace\springapp\db\create_products.sql
      [sql] 2 of 2 SQL statements executed successfully
loadData:
     [echo] LOAD DATA USING: org.hsqldb.jdbcDriver jdbc:hsqldb:hsql//localhost
      [sql] Executing resource: C:\MyJava\workspace\springapp\db\load_data.sql
      [sql] 3 of 3 SQL statements executed successfully
dbTests:
     [echo] dbTest ---------------------------------------
    [junit] Running springapp.domain.ProductTests
    [junit] Testsuite: springapp.domain.ProductTests
    [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0 sec
    [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0 sec
    [junit] Running springapp.repository.JdbcProductDaoTests
    [junit] Testsuite: springapp.repository.JdbcProductDaoTests
    [junit] Mar 3, 2010 4:44:46 PM org.springframework.test.AbstractSingleSpringContextTests loadContextLocations
    [junit] INFO: Loading context for locations: classpath:test-context.xml
    [junit] Mar 3, 2010 4:44:46 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    [junit] INFO: Loading XML bean definitions from class path resource [test-context.xml]
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    [junit] INFO: Refreshing org.springframework.context.support.GenericApplicationContext@1e13d52: display name [org.springframework.context.support.GenericApplicationContext@1e13d52]; startup date [Wed Mar 03 16:44:47 CST 2010]; root of context hierarchy
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
    [junit] INFO: Bean factory for application context [org.springframework.context.support.GenericApplicationContext@1e13d52]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1d86fd3
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.core.io.support.PropertiesLoaderSupport loadProperties
    [junit] INFO: Loading properties file from class path resource [jdbc.properties]
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    [junit] INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1d86fd3: defining beans [productDao,dataSource,propertyConfigurer,transactionManager]; root of factory hierarchy
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
    [junit] INFO: Loaded JDBC driver: org.hsqldb.jdbcDriver
    [junit] Tests run: 2, Failures: 0, Errors: 2, Time elapsed: 0.391 sec
    [junit] Tests run: 2, Failures: 0, Errors: 2, Time elapsed: 0.391 sec
    [junit] ------------- Standard Error -----------------
    [junit] Mar 3, 2010 4:44:46 PM org.springframework.test.AbstractSingleSpringContextTests loadContextLocations
    [junit] INFO: Loading context for locations: classpath:test-context.xml
    [junit] Mar 3, 2010 4:44:46 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    [junit] INFO: Loading XML bean definitions from class path resource [test-context.xml]
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    [junit] INFO: Refreshing org.springframework.context.support.GenericApplicationContext@1e13d52: display name [org.springframework.context.support.GenericApplicationContext@1e13d52]; startup date [Wed Mar 03 16:44:47 CST 2010]; root of context hierarchy
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
    [junit] INFO: Bean factory for application context [org.springframework.context.support.GenericApplicationContext@1e13d52]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1d86fd3
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.core.io.support.PropertiesLoaderSupport loadProperties
    [junit] INFO: Loading properties file from class path resource [jdbc.properties]
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    [junit] INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1d86fd3: defining beans [productDao,dataSource,propertyConfigurer,transactionManager]; root of factory hierarchy
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
    [junit] INFO: Loaded JDBC driver: org.hsqldb.jdbcDriver
    [junit] ------------- ---------------- ---------------
    [junit] Testcase: testGetProductList(springapp.repository.JdbcProductDaoTests): Caused an ERROR
    [junit] Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
    [junit] org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
    [junit]     at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:238)
    [junit]     at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:377)
    [junit]     at org.springframework.test.AbstractTransactionalSpringContextTests.startNewTransaction(AbstractTransactionalSpringContextTests.java:387)
    [junit]     at org.springframework.test.AbstractTransactionalSpringContextTests.onSetUp(AbstractTransactionalSpringContextTests.java:217)
    [junit]     at org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSingleSpringContextTests.java:101)
    [junit]     at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)
    [junit]     at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
    [junit]     at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
    [junit]     at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
    [junit] Caused by: java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
    [junit]     at java.sql.DriverManager.getConnection(DriverManager.java:602)
    [junit]     at java.sql.DriverManager.getConnection(DriverManager.java:154)
    [junit]     at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:174)
    [junit]     at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:165)
    [junit]     at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:149)
    [junit]     at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119)
    [junit]     at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:200)
    [junit] Testcase: testSaveProduct(springapp.repository.JdbcProductDaoTests):    Caused an ERROR
    [junit] Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
    [junit] org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
    [junit]     at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:238)
    [junit]     at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:377)
    [junit]     at org.springframework.test.AbstractTransactionalSpringContextTests.startNewTransaction(AbstractTransactionalSpringContextTests.java:387)
    [junit]     at org.springframework.test.AbstractTransactionalSpringContextTests.onSetUp(AbstractTransactionalSpringContextTests.java:217)
    [junit]     at org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSingleSpringContextTests.java:101)
    [junit]     at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)
    [junit]     at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
    [junit]     at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
    [junit]     at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
    [junit] Caused by: java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
    [junit]     at java.sql.DriverManager.getConnection(DriverManager.java:602)
    [junit]     at java.sql.DriverManager.getConnection(DriverManager.java:154)
    [junit]     at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:174)
    [junit]     at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:165)
    [junit]     at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:149)
    [junit]     at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119)
    [junit]     at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:200)
    [junit] Test springapp.repository.JdbcProductDaoTests FAILED
    [junit] Running springapp.service.SimpleProductManagerTests
    [junit] Testsuite: springapp.service.SimpleProductManagerTests
    [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0 sec
    [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0 sec
    [junit] Running springapp.web.InventoryControllerTests
    [junit] Testsuite: springapp.web.InventoryControllerTests
    [junit] Mar 3, 2010 4:44:47 PM springapp.web.InventoryController handleRequest
    [junit] INFO: Returning hello view with Wed Mar 03 16:44:47 CST 2010
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.031 sec
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.031 sec
    [junit] ------------- Standard Error -----------------
    [junit] Mar 3, 2010 4:44:47 PM springapp.web.InventoryController handleRequest
    [junit] INFO: Returning hello view with Wed Mar 03 16:44:47 CST 2010
    [junit] ------------- ---------------- ---------------

BUILD FAILED
C:\MyJava\workspace\springapp\build.xml:203: tests.failed=true
            ***********************************************************
            ***********************************************************
            ****  One or more tests failed!  Check the output ...  ****
            ***********************************************************
            ***********************************************************

Total time: 1 second
A: 

So the error is:

Could not open JDBC Connection for transaction; 
nested exception is java.sql.SQLException: 
No suitable driver found for jdbc:hsqldb:hsql://localhost

Is HSQLDB on your classpath ? I'm guessing its referenced correctly during the earlier part of your Ant build, since that appears to work. Are your tests being spawned off in a different process, and missing a classpath entry ?

Brian Agnew
Thanks Brian. No the tests are not spawned off. HSQLDB is in the classpath on eclipse and I also put the jar file in the WEB-INF lib. Eclipse for some reason is not detecting from the eclipse build path Libraries.
Walker
<target name="dbTests" depends="build, buildtests,dropTables,createTables,loadData" description="Run db tests"> <echo message="dbTest ---------------------------------------"/> <junit printsummary="on" fork="false" haltonfailure="false" failureproperty="tests.failed" showoutput="true">
Walker