You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Aleksander Slominski <as...@cs.indiana.edu> on 2002/11/25 07:31:47 UTC

[WSIF] compiling and running unit tests

hi,

it seems that we have good start on tests documentation in doc\run.htm

however it does not explain how to compile tests and it seems that there
is no tests target in build.xml. i have added tests target to build.xml
together with junit dependency check.

building tests target may need to be refined to do dependency
checks - i did not feel very confident about doing it but i excluded
shop/**.java if EJB is not present (building will require more testing
for those that have EJB env set and running).

also i am not sure about it but i think that tests should not have dependency
on samples (currently for example tests need class
addressbook.wsifservice.AddressBook from samples)
so to make them run i have made sure that samples are compiled
before compiling tests.

finally i have added junit target to run tests conveniently from ant
but had no luck to pass *any* test:

     junit:
         [junit]
         [junit] path 'xml-axis-wsif' does not exist!
     BUILD FAILED
     C:\Forge\xml-axis-wsif\java\build.xml:327: Test util.WSIFTestRunner failed
     Total time: 5 seconds

so i tried to run it from command line and using system property wsif.path and still no luck ...

     C:\Forge\xml-axis-wsif\java>classpath set
     build\classes;build\samples;build\tests;lib\soaprmi11\soaprmi11.jar;lib\saaj\saaj_1_1.jar;lib\jaxrpc
     \jaxrpc_1_1.jar;lib\commons_logging\commons-logging.jar;lib\commons_discovery\commons-discovery.jar;
     lib\axis\axis_1_0.jar;lib\axis\axis_1_0-ant.jar;lib\activation\activation-1.0.1.jar;lib\javamail\mai
     l.jar;lib\apache_soap\soap.jar;lib\jms_api\jms_1_1.jar;lib\xerces2\xmlParserAPIs_2_2_0.jar;lib\xerce
     s2\xercesImpl_2_2_0.jar;lib\log4j\log4j.jar-;lib\log4j\log4j-1.2.4.jar;lib\wsdl4j\wsdl4j-20021124.ja
     r;lib\wsdl4j\qname-from-wsdl4j-20021124.jar;lib\junit\junit.jar;
     C:\Forge\xml-axis-wsif\java>java -Dwsif.path=c:\\Forge\xml-axis-wsif util.WSIFTestRunner
     Starting AddressBook JMS2HTTPBridge
     Starting Stockquote JMS2HTTPBridge
     Starting the JMS2HTTPBridge with
     Initial Context Factory = com.sun.jndi.fscontext.RefFSContextFactory
     JNDI URL = file:///JNDI-Directory
     Queue Connection Factory  = WSIFSampleQCF
     JNDI Read Queue = SoapJmsAddressBookQueue
     HTTP URL = http://localhost:8080/soap/servlet/rpcrouter
     Start Type = cold
     Verbose = false
     Starting the JMS2HTTPBridge with
     Initial Context Factory = com.sun.jndi.fscontext.RefFSContextFactory
     JNDI URL = file:///JNDI-Directory
     Queue Connection Factory  = WSIFSampleQCF
     JNDI Read Queue = SoapJmsStockquoteQueue
     HTTP URL = http://localhost:8080/soap/servlet/rpcrouter
     Start Type = cold
     Verbose = false
     Caught JMS2HTTPBridge exception org.apache.wsif.WSIFException: WSIFJMSFinderForJndi caught
     'javax.na
     ming.NoInitialContextException: Cannot instantiate class:
     com.sun.jndi.fscontext.RefFSContextFactory
      [Root exception is java.lang.ClassNotFoundException:
     com.sun.jndi.fscontext.RefFSContextFactory]'.
     InitialContextFactory was 'com.sun.jndi.fscontext.RefFSContextFactory' ProviderUrl was
     'file:///JNDI
     -Directory'. Port=<null>org.apache.wsif.WSIFException: WSIFJMSFinderForJndi caught
     'javax.naming.NoI
     nitialContextException: Cannot instantiate class: com.sun.jndi.fscontext.RefFSContextFactory [Root
     e
     xception is java.lang.ClassNotFoundException: com.sun.jndi.fscontext.RefFSContextFactory]'.
     InitialC
     ontextFactory was 'com.sun.jndi.fscontext.RefFSContextFactory' ProviderUrl was
     'file:///JNDI-Directo
     ry'. Port=<null>
             at org.apache.wsif.util.jms.WSIFJMSFinderForJndi.<init>(Unknown Source)
             at org.apache.wsif.util.jms.NativeJMSRequestListener.<init>(Unknown Source)
             at util.TestUtilities.startListeners(Unknown Source)
             at util.TestUtilities.startListeners(Unknown Source)
             at util.WSIFTestRunner.main(Unknown Source)
     Caught JMS2HTTPBridge exception org.apache.wsif.WSIFException: WSIFJMSFinderForJndi caught
     'javax.na
     ming.NoInitialContextException: Cannot instantiate class:
     com.sun.jndi.fscontext.RefFSContextFactory
      [Root exception is java.lang.ClassNotFoundException:
     com.sun.jndi.fscontext.RefFSContextFactory]'.
     InitialContextFactory was 'com.sun.jndi.fscontext.RefFSContextFactory' ProviderUrl was
     'file:///JNDI
     -Directory'. Port=<null>
     org.apache.wsif.WSIFException: WSIFJMSFinderForJndi caught
     'javax.naming.NoInitialContextException:
     Cannot instantiate class: com.sun.jndi.fscontext.RefFSContextFactory [Root exception is
     java.lang.Cl
     assNotFoundException: com.sun.jndi.fscontext.RefFSContextFactory]'. InitialContextFactory was
     'com.s
     un.jndi.fscontext.RefFSContextFactory' ProviderUrl was 'file:///JNDI-Directory'. Port=<null>
             at org.apache.wsif.util.jms.WSIFJMSFinderForJndi.<init>(Unknown Source)
             at org.apache.wsif.util.jms.JMSAsyncListener.<init>(Unknown Source)
             at util.TestUtilities.startListeners(Unknown Source)
             at util.TestUtilities.startListeners(Unknown Source)
             at util.WSIFTestRunner.main(Unknown Source)
     .
     path 'xml-axis-wsif' does not exist!

i am not sure what i should set for xml-axis-wsif and where - is it documented somewhere ?

aslo how come that c:///JNDI-Directory is showing up during test - why not
use some temporary directoy inside build/tests?

so in general tests can be now compiled OK but it requires
more work to make running tests without requiring setting system
property wsif.path and to skip running tests that are not supported
in current user environment (if no EJB jars or AXIS etc....)
to make it more straightforward than setting wsif.test.components
and to remove other dependencies (for example to allow testing
with other than MQSeries JMS providers and not require HTTP
server or AXIS service running ...)

so at minimum we need step-by-step recipe on how to run all tests
possibly in separate doc/tests.html - maybe somebody who is successful
in running unit tests could write it down ...

thanks,

alek
--
The ancestor of every action is a thought. - Ralph Waldo Emerson