0

ant を使用して testng テストを実行しています。noclassdeffound エラーが発生します。クラスパスを適切に設定していないためだと思いますが、理解できないようです。`

<!-- This is the command that will be run when the tests are run from outside the vob and for 
SWIT purposes. The only test that should be run is the SWIT group which is the only test
needed for SWIT in the jar file. -->
<target name="run-swit-tests">
    <tstamp>
        <format property="touch.time" pattern="MM_dd_yyyy_hh_mm_aa" offset="-5" unit="hour" />
    </tstamp>

    <echo>Exluding non-SWIT groups: ${nonswit.groups}</echo>

    <testng outputdir="reports" 
        haltonfailure="false" verbose="2" excludedgroups="${nonswit.groups}">
        <classpath>
               <pathelement path="${TestClasses}"/>
               <pathelement path="${Libs}"/>
        </classpath>
        <jvmarg value="-Dtangosol.coherence.cacheconfig=foo.xml" />
        <jvmarg value="-Dtangosol.coherence.override=bar.xml" />
        <jvmarg value="-Dtangosol.coherence.distributed.localstorage=false" />
        <jvmarg value="-Dtangosol.pof.enabled=true" />
        <jvmarg value="-Dtangosol.coherence.management=all" />
        <jvmarg value="-Dtangosol.coherence.member=${user.name}-${touch.time}" />

        <jvmarg value="-javaagent:lib/org.springframework.instrument-3.0.5.RELEASE.jar" />

        <classfileset dir="." includes="**/Test*.class" excludes="**/Abstract*.class ${excluded.tests}"/>

        <reporter>
            <property name="generateGroupsAttribute" value="true" />
        </reporter>
    </testng>
</target>`

どんな助けでも大歓迎です。これはエラーです: 原因: java.lang.ClassNotFoundException: org.springframework.test.context.testng.AbstractTestNGSpringContextTests

4

1 に答える 1

0

すべての jar が入っていた lib フォルダーは問題ないようですが、パス宣言が何らかの形で間違っていました。これは、問題を解決するために追加したものです。 <path id="testng.classpath"> <fileset dir="${Libs}"> <include name="**/*.jar"/> </fileset> </path>Ant タスクから Libs パス要素を削除し、それを testng.classpath への参照に置き換えたところ、すべてのクラスが見つかりました。

于 2012-05-26T15:33:54.403 に答える