2017-04-23 10 views
0

以下は私のBuild.xmlファイルです。 Build.xmlでTestNG.xmlを実行しようとしていますが、毎回以下のエラーが発生しています。Build.xml(ANT)からTestNG.xmlファイルを実行

[TestNGの]クラスパスにクラスを見つけることができません:

下記のファイルは、コンパイルのターゲットまで正常に動作しています。私はexecターゲットで書かれたコードにいくつかの問題があると思います。

TestNG.xmlファイルを単独で実行しようとすると、正常に動作します。問題ありません。しかし、Test.xmlをBuild.xmlから実行すると問題が発生します。

私は私のようなstackoverflowの上で見つかった多数の方法によって問題を解決しようとしている:プロジェクト

  • TestNGのライブラリ の更新を清掃

    • が、それはうまくいきませんでした。

    誰でも助けてくれますか?

    <property name="lib" value="./lib" /> 
    
    <property name="bin" value="./bin" /> 
    
    <path id="Sample Ant build.classpath"> 
        <pathelement location="${output}" /> 
        <fileset dir="${lib}"> 
         <include name="**/*.jar" /> 
        </fileset> 
    </path> 
    
    <target name="init"> 
        <delete dir="${bin}"> 
        </delete> 
        <mkdir dir="${bin}" /> 
    </target> 
    
    <target name="compile" depends="init"> 
        <javac srcdir="${src}" 
         destdir="${bin}" 
         includeantruntime="false" 
         debug="true"> 
         <classpath refid="Sample Ant build.classpath"/> 
        </javac> 
    </target> 
    
    <!-- Runs the file and generates Reportng report for TestNG--> 
    <taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="Sample Ant build.classpath" /> 
    
    <target name="exec" depends="compile"> 
        <mkdir dir="${testng_report_dir}" /> 
        <testng outputdir="${testng_report_dir}" classpathref="Sample Ant build.classpath" useDefaultListeners="true"> 
         <xmlfileset dir="${basedir}" includes="Testng.xml" /> 
        </testng> 
    
    </target> 
    

  • 答えて

    0

    問題は、私はbuild.xmlの中で設定していたクラスパスにありました。以下は正しいクラスパスです。

    <path id="classpath"> 
        <pathelement location="${bin}" /> 
        <fileset dir="${lib}"> 
         <include name="**/*.jar" /> 
        </fileset> 
    </path> 
    

    $ {bin}は、.javaファイルのコンパイル後に.classファイルが存在するディレクトリです。

    関連する問題