Hello All!

I encountered a problem during creating InitialContext in the test step class. 
I've got an exception: 

[scenarioRunner] javax.naming.NoInitialContextException: Cannot instantiate 
class: weblogic.jndi.WLInitialContextFactory [Root exception is 
java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]
[scenarioRunner]        at 
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
...
[scenarioRunner] Caused by: java.lang.ClassNotFoundException: 
weblogic.jndi.WLInitialContextFactory
[scenarioRunner]        at 
java.net.URLClassLoader$1.run(URLClassLoader.java:200)
[scenarioRunner]        at java.security.AccessController.doPrivileged(Native 
Method)

This means that the weblogic libraries were not defined in class path. But I 
provided definition of weblogic libraries in class path for the scenario runner 
task. See my build.xml for ant below. Could you provide any advices how I can 
avoid this problem?

<project name = "jbehave_test" default = "test">
    <description>Unit testing system.</description>
    <import file = "${basedir}/../../../../../../../source/build.xml"/>
    <target
        name = "test"
        description = "Execute jbehave unit tests"
        depends = "compile-tests">
        <path id = "run.classpath">
            <path refid = "build.classpath"/>
            <path refid = "test.lib.path"/>
        </path>
        <taskdef name="scenarioRunner" 
                classname="org.jbehave.ant.ScenarioRunnerTask" 
                classpathref="run.classpath" /> 
        <scenarioRunner 
                scenarioIncludes="**/scenarios/**/*.java" 
                
scenarioExcludes="**/scenarios/**/*Steps.java,**/scenarios/ShowScenario.java" 
                classLoaderInjected="false" 
                scope="test"
                batch="true"
                sourceDirectory="${project.src.dir}"  
                testSourceDirectory="${test.src.dir}" >    
        </scenarioRunner> 
        <antcall target = "test.report"/>
    </target>
    <target
        name = "compile-tests"
        depends = "test-init, version-init, init"
        description = "Compile tests.">
        <mkdir dir = "${test.compile.dir}"/>
        <javac
            debug = "true"
            debuglevel = "lines,source"
            fork = "yes"
            destdir = "${test.compile.dir}"
            executable = "${JAVA_HOME}/bin/javac"
            source = "1.5">
            <src path = "${basedir}"/>
            <src path = "${project.src.dir}"/>
            <classpath refid = "test.lib.path"/>
        </javac>
        <path id = "build.classpath">
            <pathelement path = "${test.compile.dir}"/>
        </path>
    </target>
    <target name = "test-init" description = "Target initiates basic pathes and 
properties, makes necessary directories.">
        <property name = "project.src.dir" location = 
"${basedir}/../../../../../../../source"/>
        <property name = "config.dir" location = "${project.src.dir}"/>
        <property file = "${config.dir}/build.properties"/>
        <property name = "test.src.dir" value = 
"${basedir}/../../../../../../sources"/>
        <property name = "test.lib.dir" value = 
"${basedir}/../../../../../../lib"/>
        <property name = "project.lib.dir" value = 
"${basedir}/../../../../../../../lib"/>
        <property name = "test.output.dir" value = 
"${BASE_OUTPUT_DIR}/jb_test"/>
        <property name = "test.rawreport.dir" value = 
"${test.output.dir}/rawtestoutput"/>
        <property name = "test.output.htmlreport.dir" value = 
"${test.output.dir}/test-reports"/>
        <property name = "test.compile.dir" value = 
"${test.output.dir}/jb_test-classes"/>
        <echo>"Using wl: ${WL_HOME}</echo>
        <path id = "test.lib.path">
            <pathelement location="${WL_HOME}/lib/weblogic.jar"/>
            <pathelement location="${WL_HOME}/lib/webservices.jar"/>
            <pathelement location="${WL_HOME}/lib/wlclient.jar"/>
            <pathelement location="${WL_HOME}/lib/webserviceclient.jar"/>
            <pathelement location="${WL_HOME}/lib/xbean.jar"/>
            <pathelement location="${WL_HOME}/lib/apachexmlbeansutil.jar"/>
            <pathelement location="${WL_HOME}/lib/wsse.jar"/>
            <pathelement location="${WL_HOME}/../common/lib/apache_xbean.jar"/>
            <fileset dir = "${test.lib.dir}">
                <include name = "*.jar"/>
            </fileset>
            <fileset dir = "${project.lib.dir}/proprietary">
                <include name = "*.jar"/>
            </fileset>
            <fileset dir = "${project.lib.dir}/3rd_party">
                <include name = "*.jar"/>
            </fileset>
        </path>
        <classloader classpathref="test.lib.path" />
        <mkdir dir = "${test.output.dir}"/>
        <mkdir dir = "${test.rawreport.dir}"/>
    </target>
    <target name = "test.report">
        <taskdef name="renderReports"     
                classname="org.jbehave.ant.ReportRendererTask" 
                classpathref="test.lib.path" /> 

        <renderReports 
                outputDirectory="${test.output.dir}" 
                formats="txt,html,xml" 
                
templateProperties="defaultFormats=stats\nrenderedDirectory=rendered" /> 

    </target>
</project>

TIA, 
Natalia

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to